我正在尝试创建一些PHP代码,用于检查字符串中各个子字符串的长度并插入&#34; <br />
&#34;每当子字符串长于x个字符时。
字符串始终为以下形式:
aaa bbbbwer sdfr <br />
ert tyuo sdh <br />
ryt kkkkkkkkkkkk sdfg
所以,假设x = 5,那么我希望将该字符串转换为:
aaa bbbbw <br />
er sdfr <br />
ert tyuo sdh <br />
ryt kkkkk <br />
kkkkk <br />
kk sdfg
我该怎么做?请帮助!
非常感谢。
答案 0 :(得分:4)
我认为你可以尝试wordwrap
<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
echo $newtext;
?>
结果
The quick brown fox<br />
jumped over the lazy<br />
dog.
答案 1 :(得分:2)
您可以使用以下代码对包含超过x个字符的单词进行切片。
首先使用函数explode()
将字符串拆分为行。它会在<br />
标签上爆炸。然后它将遍历线并将线分成每行的单词。然后对于每个单词,它将在每5个字符后添加<br />
。并将已编辑的行添加到变量$new_string
。最后,它回显变量$new_string
以显示已编辑的字符串。
$max_length
。$string
。<强>代码强>
$string = 'aaa bbbbwer sdfr<br />ert tyuo sdh<br />ryt kkkkkkkkkkkk sdfg';
$max_length = 5;
$lines = explode('<br />', $string);
$new_string = '';
foreach($lines as $line)
{
$words = explode(' ', $line);
foreach($words as $word)
{
$new_string .= substr(chunk_split($word, $max_length, '<br />'), 0, -6) . ' ';
}
$new_string = substr($new_string, 0, -1) . '<br />';
}
echo $new_string;
的输出强>
aaa bbbbw<br />er sdfr<br />ert tyuo sdh<br />ryt kkkkk<br />kkkkk<br />kk sdfg<br />
答案 2 :(得分:0)
而wordwrap function并没有让你想要什么?