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

Задача
Необходимо упаковать линии текста в строку. Например, нужно отобразить текст, содержащийся в тегах <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
Теги:
Упаковка текста
Добавлено: 12 Июля 2018 20:09:23 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...