可能重复:
Shorten String in PHP (full words only)
How to get first x chars from a string, without cutting off the last word?
很像这个问题:How to Limit the Length of the Title Tag using PHP
......答案类似于:
[title] ?php echo substr( $mytitle, 0, 70 ); [/title]
...但是有没有办法实现这个目标,解决方案不会减少任何一个字?因此,如果单词部分超出限制的字符数,解决方案将删除完整的单词,而不是将其限制为字符数?
答案 0 :(得分:2)
这可能会让你获得95%,但这并不完美......
$mytitle = 'How to Limit the Length of the Title Tag using PHP';
$arr = explode(' ',$mytitle);
$string = '';
foreach($arr as $word) {
if(strlen($string) > 69) break;
$string .= ' ' . $word;
}
echo $string;
答案 1 :(得分:0)
以下可能是更容易实施的解决方案之一,但效率并不高。
看一下wordwrap
,它将你的字符串分成多行而不会破坏单词。然后,您可以使用例如,通过换行将结果字符串拆分。 explode("\n", $var, 2)
获得第一行,这将是你的头衔。
答案 2 :(得分:0)
有点有趣,如果是非最佳解决方案(未经测试,但你应该明白):
$wrapped = wordwrap($mytitle, 70, "ENDOFTITLE")
$truncated = substr($wrapped, 0, strpos($wrapped, "ENDOFTITLE"));
重复问题的答案提供了更好的解决方案。