Перенос строки
Вопрос от новичка. В документации пишется что \r\n — это указание конца строки и перевода каретки. На деле не работает. Перевожу по /br . Что же такое тогда \n . Добавлено. Немного про другое спрашивал. В учебнике явно сказано:
строка1
строка2
Но на практике не работает. Пишет в одну строку. Вот я и не понял. В чем подвох.
Отслеживать
51.4k 87 87 золотых знаков 267 267 серебряных знаков 508 508 бронзовых знаков
задан 21 июл 2011 в 2:36
111 1 1 золотой знак 2 2 серебряных знака 7 7 бронзовых знаков
Вы путаете HTML и просто текст. HTML не переносит строки по \r, \n или \r\n, а только на основании разметки.
21 июл 2011 в 5:41
7 ответов 7
Сортировка: Сброс на вариант по умолчанию
Если у вас весь код на писан для вывода через «\r\n» (Кстати вместо нее лучше использовать PHP_EOL , для кроссплатформенности), то есть замечательная функция nl2br(), которая пройдет по строке, в которую записали весь текст сформированный страницы, и заменит все переводы строк на
.
Отслеживать
ответ дан 21 июл 2011 в 6:24
2,026 1 1 золотой знак 11 11 серебряных знаков 18 18 бронзовых знаков
Если вы хотите перенести строки на странице, которая отображается, то используйте
помимо этого существует ещё и исходный код. Перенос там осуществляется именно посредством \n . Исходный код форматируют для читабельности.
Взгляните на исходный код этой страницы. Все эти переносы и сделаны посредством \n либо обычного нажатия Enter .
Этот код на php
echo "строка1
"; echo "строка2";
строка1 строка2
строка1
строка2
В этом и разница. Надеюсь, правильно понял ваш вопрос.
Как сделать перенос строки в PHP
Вы можете использовать символы новой строки PHP \n или \r\n для создания новой строки внутри исходного кода. Однако, если вы хотите, чтобы разрывы строк также были видны в браузере, вы можете использовать PHP-функцию nl2br() , которая вставляет разрывы строк HTML перед всеми символами новой строки в строке.
Давайте посмотрим на следующий пример, чтобы понять, как это в основном работает:
"; echo nl2br("You will find the \n newlines in this string \r\n on the browser window."); ?>
Символ \n записывает новую строку в UNIX, в то время как для Windows используется последовательность из двух символов: \r\n . На всякий случай используйте \r\n .
Читайте также
Похожие примеры:
- Как объединить две строки в PHP
- Как удалить пробел из строки в PHP
- Как написать комментарий в PHP
Переносы строк и тег BR в PHP
В PHP за перенос текста отвечают управляющие символы \r (возврат каретки) и \n (перевод строки), причем в разных операционных системах (на которых работает сервер) они применяются в разных комбинациях:
- GNU/Linux – \n ;
- Mac – \r ;
- Windows – \r\n .
Поэтому в место распространенного \r\n рекомендуется использовать константу PHP_EOL для кроссплатформенности кода.
Замена переносов строк на BR
С помощью функции str_replace() :
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper. Sed porta justo sed nibh elementum condimentum."; $text = str_replace(PHP_EOL, '
', $text); echo $text;
Результат:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum.
Функция nl2br() добавляет тег
, но оставляет символы переносов строк.
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper. Sed porta justo sed nibh elementum condimentum."; $text = nl2br($text, false); echo $text;
Результат:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum.
Если через функцию nl2br() пропустить текст несколько раз, то количество
с каждым разом будет увеличиваться и получится следующий результат:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum.
Чтобы этого избежать нужно перед вызовом nl2br() применять обратную функцию br2nl() :
function br2nl($text) < return preg_replace('//i', '', $text); >
Удаление лишних тегов
Удаление
в начале строки
$text = '
Тег
в начале строки.'; $text = preg_replace('/^()+/i', '', $text); echo $text;
Результат:
Тег
в начале строки.
Удаление
в конце строки
$text = 'Тег
в конце строки.
'; $text = preg_replace('/()+$/i', '', $text); echo $text;
Результат:
Тег
в конце строки.
Удаление
перед закрывающим тегом
$text = 'Лишний
в конце параграфа. '; $text = preg_replace('/()+([\s+])?()$/i', '$3', $text); echo $text;
Результат:
Лишний
в конце параграфа.
Еще момент, обычно в WYSIWYG редакторах пустая строка выполняется элементом
, следующий код удаляет данные переносы в конце текста.
$text = ' Пустые строки в конце текста.
'; $text = preg_replace('/( [\s+]?)+$/i', '', $text); $text = trim($text); echo $text;
Результат:
Пустые строки в конце текста.
Удаление повторяющихся
$text = 'Текст
с
множеством
переносовстрок.'; $text = preg_replace('/()/i', '
', $text); echo $text;
Результат:
Текст
с
множеством
переносов
строк.
PHP ПЕРЕНОС СТРОКИ
Перенос строки в PHP осуществляется с помощью специального символа Escape-последовательности \n , который обозначает конец текущей строки и переход на следующую строку.
Например, если вы хотите вывести на экран строку «Hello» на первой строке и «World» на второй строке, то код будет выглядеть следующим образом:
В результате выполнения этого кода на экране вы увидите:
Также можно использовать HTML-тег
для переноса строки внутри HTML-кода:
echo «Первая строка
Вторая строка»;
Этот код выведет на экран:
Первая строка
Вторая строка
#2 Уроки PHP — Учим язык PHP, Конец строки на языке PHP
Функции для работы с символами в PHP — Базовый курс PHP-7
#36 Перенос строки тег br, символ абзаца на html
Работа с переносом строки и PHP EOL
Основы php. Строковые функции
PHP: почему его вечно хоронят, актуально ли его учить и чем он полезен бизнесу. Код и кофе, s4, ep 8
Объединение и разбиение строк в PHP — Базовый курс PHP-7
Когда ты PHP’шник . (Пародия)
PHP 2023. Основы синтаксиса, переменные, базовые операции PHP
Основы php формат heredoc выполнение консольных команд в коде