[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как избавиться от переводов строк?
baston
Есть текст (вытащенный из Word), в котором некоторые строки (предложения) отделены друг от друга знаком абзаца (в терминах Word).
Мне нужно занести все строки (все предложения) в массив. Однако я не могу сделать это корректно, ибо знак переноса не удаляется.

Опытным путем я выяснил, что это предположительно символ с кодом 10. По-крайней мере я это вычислил, поместив в строку все предложения до этого знака.
Но при попытке удалить этот знак с помощью str_replace ничего не происходит.

Вот мой код. Не смотрите, что я использую explode, просто пока это наглядно показывает, что в массиве наряду с предложением заносится и ненужный перевод строки.
//Исходная строка
$str = "Первая строка. Вторая строка.
Третья строка.";
//Удаляем знак переноса строки - chr(10)
$res = str_replace(chr(10), "", $str);
//Заносим в массив каждое предложение
$arr = explode(".", $res);
//Отображаем дамп массива
echo "<pre>";
print_r($arr);
echo "</pre>";

Спасибо.



Спустя 19 минут, 44 секунды (18.02.2010 - 13:14) Adil написал(а):

Спустя 2 минуты, 17 секунд (18.02.2010 - 13:16) baston написал(а):
Не помогает. Делал так:
$arr = explode(".", trim($res, chr(10)));

Спустя 1 минута, 58 секунд (18.02.2010 - 13:18) Adil написал(а):
А просто trim($res) ?

Спустя 1 минута, 59 секунд (18.02.2010 - 13:20) baston написал(а):
Удаляет пробелы слева и справа - что в моем случае безрезультатно и бессмысленно.
Вот результат:
user posted image

Спустя 13 минут, 15 секунд (18.02.2010 - 13:33) glock18 написал(а):
перенос строки в windows \r\n или (chr(10), chr(13) или 0A0Dh). заменять надо последовательность, а не только \r. и лучше брать ее из PHP_EOL.

Спустя 17 минут, 46 секунд (18.02.2010 - 13:51) baston написал(а):
glock18, спасибо за подсказку.
Делал по-отдельности с этими символами \r и \n, а вместе не сообразил.
Единственное, что не понял, это про константу PHP_EOL. Не нашел информации о ней и примерах...
Буду благодарен, если ткнете носом.

Спустя 24 минуты, 35 секунд (18.02.2010 - 14:15) baston написал(а):
$res = str_replace(PHP_EOL, "", $str);

Вот так сделал. Не уверен, что совершенно верно, но работает.

Спустя 1 день, 1 час, 20 минут, 41 секунда (19.02.2010 - 15:36) baston написал(а):
Увы, стоило добавить новых переводов строк, и способ не сработал...

Спустя 4 часа, 4 минуты, 38 секунд (19.02.2010 - 19:41) twin написал(а):
PHP_EOL тут не поможет, файл же не сервер формирует. Только оба убирать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.