从字符串中去除 HTML 特殊字符
创建 RSS 源时,删除 HTML 标签和特殊字符以确保兼容性至关重要。虽然 strip_tags() 有效地删除了标签,但它通常会留下 HTML 特殊字符。
要解决此问题,有两种可能的解决方案:
html_entity_decode():
该函数解码 HTML 实体并用相应的字符替换它们。例如, 将被转换为空格。
preg_replace():
使用正则表达式,preg_replace() 允许您删除特定的字符序列。以下模式匹配并删除 HTML 特殊字符:
/&#?[a-z0-9] ;/i
此模式搜索以 开头,后跟的序列字母和数字的组合,并以分号结尾。
实现此解决方案:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
Jacco 的替代方案:
另一个选项正如 Jacco 在评论部分所建议的,是使用以下内容pattern:
/&#?[a-z0-9]{2,8};/i
此模式将替换限制在一定字符范围内的序列,降低了风险意外替换未编码的 &句子中的字符。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3