我有一段:
Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad mini m veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。
我想只显示140个字符(我鼓励上面的140个字符)。所以我在PHP中使用substr()
函数:
echo substr($str, 0, 140); // let say $str contain the paragraph above
正如你在上面的文字中看到的,它削减了" minim"进入" mini" !!,如果那是一个英文单词,那就说" Singular",它突然切断信息" Sing",它将有不同的含义,并将使整个句子无义。
所以我决定剪掉最后一句话,substr()
函数不会产生任何奇怪的词。
有人知道如何在substr()
之后删除最后一句话吗?
答案 0 :(得分:4)
我想,有几种方法可以解决这个问题。想到的最简单的一个是用单词爆炸字符串,删除最后一个字符串,然后再次触发它们,如下所示:
dtype
所以这应该导致:
Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad
您还可以在字符串中添加$str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
if (strlen($str) > 140)
{
$str = substr($str, 0, 140);
$str = explode(' ', $str);
array_pop($str); // remove last word from array
$str = implode(' ', $str);
}
,以便与以下内容保持连续性:
...