Разработчику. Сборник рецептов PHP
Задавайте вопросы

Упаковка текста в строки определенной длины

Вернуться назад

Задача

Необходимо упаковать линии текста в строку. Например, нужно отобразить текст, содержащийся в тегах <pre>/</ pre>, в пределах окна броузера обычного размера.

Решение

Это делается при помощи функции wordwrap():

$s = "Four score and seven years ago our fathers brought forth on this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal.";

print "<pre>\n".wordwrap($s)."\n</pre>";

<pre> Four score and seven years ago our fathers brought forth on this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal. </pre>

Обсуждение

По умолчанию функция wordwrap() упаковывает текст в строки по 75 символов. Необязательный второй аргумент позволяет изменять длину строки:

print wordwrap($s,50);

Four score and seven years ago our fathers brought
forth on this continent a new nation, conceived in
liberty and dedicated to the proposition that all
men are created equal.

Для указания конца строки можно использовать не только символы «\n». Для получения двойного интервала между строками используйте «\n\ n»:

print wordwrap($s,50,"\n\n");

Four score and seven years ago our fathers brought

forth on this continent a new nation, conceived in

liberty and dedicated to the proposition that all

men are created equal.

В функции есть необязательный четвертый аргумент, управляющий обработкой слов, длина которых превышает указанную длину строки. Если этот аргумент равен 1, то слова разбиваются на части. В противном случае они простираются за указанный предел длины строки:

print wordwrap('jabberwocky',5);
print wordwrap('jabberwocky',5,"\n",1);
jabberwocky

jabbe
rwock
y

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования

Рейтинг Сайтов ДОСКИ.РУ