使用 php:如何在字符串相对中间的空白处插入换行符?或者换句话说,我如何计算一个句子中的单词,然后在句子中途换行?
这个想法是通过将每个标题切成两半并将其放在两行(如果标题占用超过一行)来避免博客文章标题的第二行出现寡妇(被遗弃的单词)。
提前致谢。
更新:大家好,我意识到我需要 preg_split 函数用空格分割标题。抱歉,如果该部分在问题中不清楚。我修改了 Asaph 的答案并使用了这个:
$title_length = strlen($title);
if($title_length > 30){
$split = preg_split('/ /', $title, null, PREG_SPLIT_NO_EMPTY);
$split_at = ceil(count($split) / 2);
echo $split_at;
$broken_title = '';
$broken = false;
foreach($split as $word_pos => $word){
if($word_pos == $split_at && $broken == false){
$broken_title.= '<br />'."\n";
$broken = true;
}
$broken_title .= $word." ";
}
$title = $broken_title;
}
我是 SO 的新手,我被社区的力量所震撼。干杯。