我知道此类问题之前已被提及并回答,但我无法在模式匹配中找出错误。
由于一些非常棘手的遗留数据库输入我试图删除两个html特殊字符之间的任何东西,然后将继续处理遗骸之后。
原始代码在{1}}之后变为粗体,但结尾为1<b>2
我希望留下1<b>2
或1<>2
THX 领域
1 2
答案 0 :(得分:2)
看起来你应该删除中间的斜杠
/&#?[a-z0-9]{2,8};[^&]+&#?[a-z0-9]{2,8};/is
答案 1 :(得分:0)
你有没有尝试过:
$str = strip_tags(html_entity_decode('1<b>2'));
或者如果你想用其他东西替换标签,比如空格:
$str = html_entity_decode('1<b>2');
$output = preg_replace('/<\/?[^\>]+>/ui', ' ',$str);