我该如何在php中编写以下代码?如何在php中创建指定数量的字符后换行符?
如果没有空格的字符数超过75个,请创建换行符。
wordwrap函数似乎也计算空白,所以我不知道我可以使用它。我只想在我的$ description大于75个字符并且没有空格时打破。
感谢您的帮助!
我该如何在php中编写以下代码?如何在php中创建指定数量的字符后换行符?
如果没有空格的字符数超过75个,请创建换行符。
wordwrap函数似乎也计算空白,所以我不知道我可以使用它。我只想在我的$ description大于75个字符并且没有空格时打破。
感谢您的帮助!
我假设你只想在一个空间上打破,而不是任何人物。
这不是很有效,但它应该工作。
$array = str_split($input);
$iNumChars = 0;
$sOutput = "";
foreach($array as $char) {
if($char != " ") $iNumChars++;
if($iNumChars > 75 && $char == " "){
$sOutput .= "\n".$char;
$iNumChars = 0;
}else{
$sOutput .= $char;
}
}
为什么第一个'$ iNumChars ++;'? – 2011-12-28 07:36:35
为什么不呢?我必须补充一点。我还要如何保持数字不变? – 2011-12-28 07:39:01
我不遵循你的逻辑。 [检查出来](http://www.ideone.com/bTAp0),并将其与[您的版本](http://www.ideone.com/sGNRI)进行比较(示例文本适用于第1版) 。 – 2011-12-28 07:47:23
查找字符串的长度。
如果strlen的(字符串)> 75
搜索字符串空白(strpos)
如果没有空格发现,那么你可以创建一个换行符
不是一个真正的答案,她想排除计数中的空白,这是你没有考虑到的。 – 2011-12-28 07:39:36
Okk。我纠正了我的自我。首先搜索字符串中的空白位置。如果pos大于75,则在75个字符后创建换行符。 – Shraddha 2011-12-28 07:44:02
希望这会工作,尝试:
// $str is your string
$explode = explode(" ", $str);
foreach($explode as $key=>$val){
if($key <= '75'){
$join_arr = " " . $val;
if($key == '75'){
// Line Break Here
$join_arr .= "<br>";
}
echo $join_arr;
}
else{
exit();
}
}
只提供76个字符。
我认为这是我需要的。明天我会试一试,让你知道。我一直在努力寻找最后一个小时的解决方案,现在已经过去了我的就寝时间。 :) 谢谢! – Andi 2011-12-28 08:37:32
你的欢迎:) – 2011-12-28 08:50:41
你想打破中间词? – 2011-12-28 07:31:32
尝试写出你需要的东西,然后在遇到困难时提问。 – vdbuilder 2011-12-28 07:32:16
如果这些数据以HTML格式显示,那么在UI级别处理它会不会更好?例如:您可以使用word-wrap属性为css并将其设置为“break-word” – dkulkarni 2011-12-28 07:35:30