Php количество переносов строк

Формирование текста с использованием функции PHP wordwrap()

Иногда нужно, чтобы скрипт PHP формировал длинную строку в несколько коротких, сохраняя при этом целостность слов. Такая необходимость может возникнуть при форматировании некоего текста для печати или для email, или когда нужно вывести предварительно отформатированный текст на веб странице с помощью элемента pre .

PHP имеет практичную функцию wordwrap() для решения таких задач. В данном уроке рассматривается работа с функцией wordwrap() .

Основной синтаксис wordwrap()

В большинстве случаев нужно просто передать строку в функцию wordwrap() , и она вернёт сформированный текст:

$myString = "Mr. Bennet was so odd a mixture of quick parts, sarcastic humour, reserve, and caprice, that the experience of three-and-twenty years had been insufficient to make his wife understand his character."; echo "
" . wordwrap( $myString ) . "

";

Выше приведённый код выводит:

Mr. Bennet was so odd a mixture of quick parts, sarcastic humour, reserve, and caprice, that the experience of three-and-twenty years had been insufficient to make his wife understand his character.

По умолчанию функция wordwrap() использует ширину колонки в 75 символов. Это означает, что строка будет не длиннее 75 символов.

Задаём ширину колонки

Чтобы задать ширину колонки отличной от 75 символов, нужно передать значение ширины в качестве второго аргумента фунгкции wordwrap() :

$myString = "Mr. Bennet was so odd a mixture of quick parts, sarcastic humour, reserve, and caprice, that the experience of three-and-twenty years had been insufficient to make his wife understand his character."; echo "
" . wordwrap( $myString, 40 ) . "

";

Mr. Bennet was so odd a mixture of quick parts, sarcastic humour, reserve, and caprice, that the experience of three-and-twenty years had been insufficient to make his wife understand his character.

Используем другой символ переноса строки

Обычно функция wordwrap() выполняет перенос строки с помощью вставки символа новой строки ( «\n» ) там, где нужно. Однако, вы можете установить тот символ, который нужно использовать. Для этого новый символ переноса строки передаётся в качестве третьего аргумента функции wordwrap() .

Например, если текст формируется для использования на веб странице и элемент pre не будет использоваться для отображения предварительно форматированного текста, то можно осуществлять перенос строки с помощью элемента HTML
:

$myString = "Mr. Bennet was so odd a mixture of quick parts, sarcastic humour, reserve, and caprice, that the experience of three-and-twenty years had been insufficient to make his wife understand his character."; echo wordwrap( $myString, 40, "
" );

Формирование очень длинных слов

Что произойдёт, если текст будет содержать слово, длина которого превышает ширину колонки? По умолчанию строка будет иметь длину больше ширины колонки:

 myString = "This text contains a very very loooooooooooooooooooong word."; echo "
" . wordwrap( $myString, 10 ) . "

";

This text contains a very very loooooooooooooooooooong word.

Чтобы изменить стиль работы с длинными словами нужно передать четвёртым аргументом значение true в функцию wordwrap() . В этом случае все слова, длина которых будет превышать ширину колонки будут прерываться символом переноса строки, а остаток слова будет продолжаться на следующей строчке:

myString = "This text contains a very very loooooooooooooooooooong word."; echo "
" . wordwrap( $myString, 10, "\n", true ) . "

";

This text contains a very very looooooooo oooooooooo ong word.

Использование функции wordwrap() помогает формировать текст так, что его отображение имеет прогнозируемый вид, без сюрпризов.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.elated.com/articles/wrapping-text-php-wordwrap/
Перевел: Сергей Фастунов
Урок создан: 30 Июля 2010
Просмотров: 17127
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Источник

wordwrap

wordwrap — Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.

Описание

Возвращает строку str с переносом в столбце с номером, заданном аргументом width. Строка разбивется с помощью аргумента break.

Аргументы width и break необязательны и по умолчанию равны 75 и ‘\n’ соответственно.

Если аргумент cut установлен в 1, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано. (См. второй пример).

Замечание: Необязательный аргумент cut был добавлен в PHP 4.0.3

Пример 1. Пример использования wordwrap()
$text = "The quick brown fox jumped over the lazy dog."; $newtext = wordwrap($text, 20, "
\n"); echo "$newtext";
The quick brown fox 
jumped over the lazy
dog.
Пример 2. Пример использования wordwrap()
$text = "Очень длинное слоооооооооооооооово."; $newtext = wordwrap($text, 8, " ", 1); echo "$newtext\n";
Очень длинное слоооооо оооооооо оово.
Пример 3. wordwrap() с поддержкой UTF-8
function utf8_wordwrap($str, $len = 75, $break = "\n", $cut=false)< if(empty($str)) return ""; $pattern=""; if(!$cut) $pattern="/(\S)/u"; else $pattern="/(.)/u"; return preg_replace($pattern, "\$".$break, $str); >

Смотрите также описание функций nl2br() и chunk_split() .

Источник

Читайте также:  Жирный текст с помощью CSS - "Нубекс"
Оцените статью