以下:
我有一个包含许多空格的字符串。我想添加一个HTML Break“< br />”出于布局原因,在此字符串的每70个字符后的下一个空格中。这是我在PHP中的距离:
function news_break( $news_string ){
for( $i = 0; $i <= strlen($news_string); $i++ ){
if( $i % 70 == 0 ){ //Every 70th char
$c = TRUE;
}
if($c && $news_string[$i] == ' ' ){
//?? replace space with <br />
$c = FALSE; //Until the next 70th char is found
}
}
return $news_string;
}
我知道第一次运行将是71个字符,因为$ i = 0,但之后他将设置$ c = TRUE;每70个以下的字符后。不是那么重要,因为他之后应该照看一个space_char,并且它完全在71上的可能性非常低
答案 0 :(得分:1)
为什么不
$wrapped = nl2br(wordwrap($news_string, 70));
代替?
答案 1 :(得分:0)
你必须填写替换...当然要回复“解析”字符串
function news_break( $news_string ){
$out = '';
$c = false;
for( $i = 0; $i <= strlen($news_string); $i++ ){
if($i % 70 !=0 && $c===false)
$out.=$news_string[$i];
elseif( $i % 70 == 0 && $news_string[$i]!='' ){ //Every 70th char
$c = true;
$out.=$news_string[$i];
} elseif ( $i % 70 == 0 && $news_string[$i]=='')
$out.=$news_string[$i].'<br>';
elseif( $c=== true && $news_string[$i]=='') {
$out.=$news_string[$i].'<br>';
$c=false;
}
}
return $out;
}
开箱即用......没有尝试过错误......