我们已经在网上搜索了一个简单的解决方案,但到目前为止还没有运气。
我们正在将$ text分成两半,确保分裂只发生在一个句子的末尾(。?!):
$middle=strrpos(substr($text, 0, floor(strlen($text) / 2)), ' ') + 1;
$adjust = strcspn($text, '.!?', $middle);
echo substr($text, 0, $middle+$adjust+1);
这很好用。但是,当句子以引号或封闭的HTML标记结束时,我们需要扩展功能以进行拆分。例如:
."
或?"
或!"
或</em>
或</h1>
等。
例如,本文:
这是一个没有引号和html标签的句子。 <em>
“这是一些带引号和html标记的文字。”</em>
这段文字在句末没有“引号”和html标签吗? “是的,该文本没有引号和HTML标签!”
应分为:
这是一个没有引号和html标签的句子。 <em>
“这是带引号和html标记的文字。”</em>
和
这句话的末尾没有“引号”和html标签吗? “是的,该文本没有引号和HTML标签!”
我们如何才能实现这一目标?
提前感谢您的帮助!