确保 PHP 子字符串在单词而不是字符上完成

2022-08-30 08:56:38

我知道如何使用substr函数,但这会很高兴在单词的中途结束一个字符串。我希望字符串在单词的末尾结束,我该怎么做?它会涉及正则表达式吗?任何帮助都非常值得赞赏。

这就是我到目前为止所拥有的。只是子字符串...

echo substr("$body",0,260);

干杯


答案 1
substr($body, 0, strpos($body, ' ', 260))

答案 2

它可以使用正则表达式来完成,像这样的东西将从字符串的开头到单词边界最多获得260个字符:

$line=$body;
if (preg_match('/^.{1,260}\b/s', $body, $match))
{
    $line=$match[0];
}

或者,您可以使用 wordwrap 函数将$body分成几行,然后只提取第一行。


推荐