如何精准匹配HTML标签内的标题信息?

如何精准匹配html标签内的标题信息?

正则表达式匹配:避免过度匹配

在提取HTML标签内的标题信息时,避免过度匹配至关重要。 例如,如果目标文本包含以下标签:

李明:

tittle:

立即学习前端免费学习笔记(深入)”;

my brief:xxxxx

我们希望仅提取tittle:及其后的内容,直到下一个

标签。 错误的正则表达式,例如/

[ss]+ ittle:[ss]+//,由于[ss]+匹配任意字符(包括空格和换行符),会导致匹配范围过大。

更精准的匹配方法是避免使用[ss]+,而是使用[^

改进后的正则表达式示例:

$str = '<p>李明:</p><p>tittle: </p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p><p>my brief:xxxxx</p><p>';
preg_match('/<p>([^<]+tittle:[^<]+)</p>/', $str, $m);
var_dump($m);
登录后复制

此代码片段将精准匹配

标签内包含tittle:的内容,并排除前后多余的标签和字符。 请注意,这仍然依赖于目标文本的结构。 对于更复杂的HTML结构,建议使用DOM解析器进行处理,以确保更可靠的匹配结果。

以上就是如何精准匹配HTML标签内的标题信息?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1228020.html

发表回复

Your email address will not be published. Required fields are marked *