两个针之间的php preg_replace

时间:2012-06-26 02:03:19

标签: php preg-replace

我知道此类问题之前已被提及并回答,但我无法在模式匹配中找出错误。

由于一些非常棘手的遗留数据库输入我试图删除两个html特殊字符之间的任何东西,然后将继续处理遗骸之后。 原始代码在{1}}之后变为粗体,但结尾为1<b>2

我希望留下1&lt;b&gt;21&lt;&gt;2

我甚至关闭了吗?

THX 领域

1 2

2 个答案:

答案 0 :(得分:2)

看起来你应该删除中间的斜杠

/&#?[a-z0-9]{2,8};[^&]+&#?[a-z0-9]{2,8};/is

答案 1 :(得分:0)

你有没有尝试过:

$str = strip_tags(html_entity_decode('1&lt;b&gt;2'));

或者如果你想用其他东西替换标签,比如空格:

$str = html_entity_decode('1&lt;b&gt;2');
$output = preg_replace('/<\/?[^\>]+>/ui', ' ',$str);