文章正文中有大量 html 标签,类似这样的:
<h1>标题</h1>
<p>文字文字</p>
<img xxxx />
需要从文章正文提取摘要,现在用的办法是先过滤掉 html 标签,然后截取前 n 个字
$patterns = ['/<.+>/', '/ /'];
$replacements = ['', ''];
$text = preg_replace($patterns, $replacements, $html);
但是替换结果是一个空字符串,是匹配了第一个 < 和最后一个 > ?
请问正则应该怎么写?
或者有没有其它方法从正文提取摘要?
1
fahai 2016-09-19 10:42:25 +08:00 1
可以把<.+>改成<.*?>或者使用 strip_tags
|
2
lissome OP |
3
Herobs 2016-09-19 10:46:17 +08:00
- 取消贪婪匹配。
- 替换 不要用正则表达式。 - 直接用现成的 strip_tags 。 |
4
gouchaoer 2016-09-20 23:53:16 +08:00 via Android
用 dom 库做这个啊
|