我想对$ the_content中的RSS提要进行描述,然后使用preg_split在2个完整句子(或200个单词,然后是下一个完整句子)之后将其删除。
我试过几次,但我离开了。我知道自己想做什么,但我似乎无法开始做某些工作。
谢谢!
答案 0 :(得分:1)
正确拆分HTML非常棘手,不值得使用正则表达式。如果您想要HTML,DOM text iterator之类的内容将非常有用。
将说明转换为文字:
$text = html_entities_decode(strip_tags($html),ENT_QUOTES,'UTF-8');
这将需要前200个字符(200个字对于一个句子来说有点太多了,不是吗?)然后寻找句末:
$text = preg_replace('/^(.{200}.*?[.!?]).*$/','\1',$text);
您可以将[.!?]
更改为更复杂的内容,例如在标点符号后要求空格或要求附近没有标点符号:
(?<![^.!?]{5})[.!?](?=[^.!?]{5})
(?=…)
是肯定的断言。 (?<!…)
负面断言,看起来落后于现在的位置。 {5}
表示5次。
我没有测试过它:)