Вырезать строку рекурсивно - PullRequest
2 голосов
/ 05 мая 2011

У меня есть строка, и я должен напечатать ее в div.

Ширина div ограничена, поэтому, если много символов близко, строка выйдет из div.

Просто подумайте о width:30px div и такой строке, как hellomynameismarcoandilikemadewebapplicationinmyfreetimes.

Так что мне нужна функция на php, которая рекурсивно обрезает строку; Я имею в виду, разрезать строку и добавить что-то вроде <br/>.

Другая проблема заключается в том, что моя строка печатается через htmlentities($string, ENT_QUOTES, "UTF-8");, поэтому <br/> не удастся.

Как я могу сделать это на PHP?

РЕДАКТИРОВАТЬ Мое окончательное решение

function printMyStrings($str, $width) {
    return ereg_replace("&lt;br/&gt;","<br/>", htmlentities(wordwrap($str, $width, "<br/>", true), ENT_QUOTES, "UTF-8"));
}

Ответы [ 3 ]

3 голосов
/ 05 мая 2011
chunk_split ( $string , 80 ,"<br>");
2 голосов
/ 05 мая 2011

Просто добавьте пробел, и браузер позаботится о том, чтобы разбить его для вас

2 голосов
/ 05 мая 2011

Следующее закроет его в $width. Документы на wordwrap()

$width = 30;
$wrapped_string = wordwrap("Hellomynameismarcoandilikemadewebapplicationinmyfreetimes.", $width, "\n", TRUE);

// nl2br to add HTML linebreaks
echo nl2br($wrapped_string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...