递归剪切一个字符串

时间:2011-05-04 20:44:49

标签: php html string

我有一个字符串,我必须在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 个答案:

答案 0 :(得分:3)

chunk_split ( $string , 80 ,"<br>");

答案 1 :(得分:2)

以下内容将在$width处进行硬包装。 Docs on wordwrap()

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

// nl2br to add HTML linebreaks
echo nl2br($wrapped_string);

答案 2 :(得分:2)

只需添加一个空格,浏览器就会为您打破它