$ text变量的示例:
Lorem ipsum dolor sit amet,consectetur adipisicing 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 . Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .
将它分成两半:
$half = strlen($text) / 2;
会让我看到“后果”中的“o”字 .
如何在文本的一半中找到最近的句子分隔符(点)的位置?在这个例子中,在“o”之后是7个字符 .
此文本还包含HTML代码 . 我想在查找文本的半点时忽略HTML,并忽略html属性中的点等 .
3 回答
看看substr,strip_tags和strpos . 在
strpos
的帮助下,您可以找到下一个点的位置,并使用strip_tags从字符串中删除所有html标记 .考虑到你必须确保在
$half
的值之后存在一个点,否则输出将不是你想要的 .也许是这样的?
假设你的句子可以以句号结尾的其他字符结束,你可以看一下:
您可能需要稍微调整一下,但它应该做得很好 . 对于更高级的东西,你正在进入NLP(自然语言处理)领域,其中还有PHP库:
http://sourceforge.net/projects/nlp/
你可以修改这个功能