- Формирование текста с использованием функции PHP wordwrap()
- Основной синтаксис wordwrap()
- Задаём ширину колонки
- Используем другой символ переноса строки
- Формирование очень длинных слов
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
- wordwrap
- Описание
Формирование текста с использованием функции 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() .