Войти Регистрация

Обтекание текста с помощью wordwrap php функции


Зачем делать обтекание текста с помощью wordwrap php функции?

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

PHP предоставляет удобную функцию для этого, wordwrap(), чтобы сделать эту роботу за вас. Эта статья покажет вам, как работает wordwrap() php функция и узнаем, как сделать обтекание текста с помощью wordwrap php функции.

Основный синтаксис функции 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 "<pre>" . wordwrap( $myString ) . "</pre>";

Данный скрипт выведет:

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.

По умолчанию php функция wordwrap разбивает текст приблизительно на 75 символов и после каждой строки ставит символ переноса строки (/n).

Как задать ширину столбца с помощью wordwrap()

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

$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 "<pre>" . wordwrap( $myString, 40 ) . "</pre>";

Выведет строки длинной в 40 символов.

Использование различных символов переноса строки

По умолчанию php функция wordwrap() разбивает текст, на строки вставляя «/n» символ в конце каждой строки. Эта функция также позволяет задать собственный символ переноса строки в качестве третьего аргумента wordwrap().

Например, если на HTML странице вы не используете preэлемент, но нуждаетесь в переносе строк, то вы можете использовать элемент <br/> для переноса строки.

$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, "<br />" );

Обтекание очень длинных слов

Что произойдет, если ваш текст содержит слово, которое длиннее желаемой ширины колонки? По умолчанию такая линия превышает ширину столбца.

$string= "Обтекаемый текст с помощью wordwrap php функции имеет очень очень длинноооооооооооооооооооооооооооое слово.";

echo "<pre>" . wordwrap( $myString, 10 ) . "</pre>";

Данный пример выведет, что-то подобное:

Обтекаемый текст

с помощью

wordwrap php

функции имеет

очень очень

длинноооооооооооооооооооооооооооое

слово.

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

myString = "This text contains a very very loooooooooooooooooooong word.";

echo "<pre>" . wordwrap( $myString, 10, "\n", true ) . "</pre>";

Пример выведет:

This text

contains a

very very

looooooooo

oooooooooo

ong word.

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



Дальше: Сжатие html кода


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 2057