preg_replace搜索与模式不匹配的字符串,而不是匹配模式的字符串

时间:2013-07-13 01:59:14

标签: php regex preg-replace bbcode

我想要用preg_replace函数替换这个可能值的数组:

$attr = array('b','i','u','left','center','right');

foreach($attr as $a) {
    // strip bbcode
    $str = preg_replace('#\['.$a.'\](.*)\[/'.$a.'\]#im','$1',$str); 
}
return $str;

但是我不想使用foreach并循环遍历每个可能的排除,而是想要删除任何不是img的内容。这可能吗?

1 个答案:

答案 0 :(得分:1)

你的意思是你要删除除 img 标签以外的所有标签吗?使用此:

$str = preg_replace('#\[(?!/?img).+?]#im','',$str);