从字符串中剥离 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 在评论部分中建议的另一个选项是使用以下模式:
/&#?[a-z0-9]{2,8};/i
此模式将替换限制为一定字符范围内的序列,降低了意外替换未编码的&的风险。句子中的字符。
以上是如何有效地从字符串中删除 HTML 特殊字符?的详细内容。更多信息请关注PHP中文网其他相关文章!