You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何使用正则表达式去除HTML标签?实际场景示例

解决方法:移除转义HTML标签,提取纯文本

嘿,我来帮你搞定这个问题!你的需求是把$attributes['st_title']里转义后的<a>标签去掉,只保留里面的文本内容对吧?

你的现有正则写法其实能实现效果,但可以更简洁高效,另外还有更稳妥的替代方案,我给你整理两种方法:

方法1:优化正则表达式

把两个正则模式合并成一个,一次替换完成,代码更简洁:

// 匹配转义后的<a>开头标签和</a>结尾标签,替换为空字符串
$pattern = '/&lt;a[^&gt;]+&gt;|&lt;\/a&gt;/';
$attributes['st_title'] = preg_replace($pattern, '', $attributes['st_title']);

这个正则会匹配所有转义后的<a>起始标签(不管里面有多少属性)和</a>结束标签,一次性替换掉,直接得到你想要的纯文本。

方法2:用HTML解码+strip_tags(更通用)

如果你的场景里可能出现其他转义HTML标签,或者不想写正则,推荐这种方法:先把HTML实体解码成真实的HTML标签,再用PHP内置的strip_tags()函数移除所有标签,只保留文本:

// 第一步:把转义的HTML实体(比如&lt;、&gt;)解码成真实的HTML标签
$decoded_content = htmlspecialchars_decode($attributes['st_title']);
// 第二步:移除所有HTML标签,只保留纯文本
$attributes['st_title'] = strip_tags($decoded_content);

这种方法更通用,不管是转义的还是未转义的HTML标签都能处理,而且不用自己维护正则规则,更省心。

内容的提问来源于stack exchange,提问作者Abdus Sattar Bhuiyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:14:42