如何忽略此正则表达式中的第一场比赛

时间:2011-09-17 21:44:02

标签: php regex string

$tag = 'img';
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text);

如何让preg_replace忽略第一个匹配(“img”),并仅对其他匹配进行替换?

1 个答案:

答案 0 :(得分:0)

你可以使用for()循环并将$ i设置为1以避免数组中的第一个值,如下所示:

 for($i = 1; $tags < count($tags) ; $i++){
 $text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text[$i]);
 }

但是,如果要将其保存为字符串,则此循环将在每次执行时替换$text值,并将=符号替换为.=,或者如果要进行数组替换$text$text[$i--]

。{

请注意,此代码未经过测试!