Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何忽略此正则表达式中的第一个匹配项 $tag='img'; $text=preg_replace(“#]*>#is”“,”$text);_Php_Regex_String - Fatal编程技术网

Php 如何忽略此正则表达式中的第一个匹配项 $tag='img'; $text=preg_replace(“#]*>#is”“,”$text);

Php 如何忽略此正则表达式中的第一个匹配项 $tag='img'; $text=preg_replace(“#]*>#is”“,”$text);,php,regex,string,Php,Regex,String,如何使preg_replace忽略第一个匹配(“img”),并仅对其他匹配进行替换?您可以使用for()循环并将$I设置为1以避免数组中的第一个值,例如: $tag = 'img'; $text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text); ($i=1;$tags

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

您可以使用for()循环并将$I设置为1以避免数组中的第一个值,例如:

$tag = 'img';
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text);
($i=1;$tags{ $text=preg_replace('#]*>#is','',$text[$i]); } 但是,如果要将
=
符号保存为字符串,或者如果要将
=
符号替换为
=
,或者如果要使数组将
$text
替换为
$text[$i--]


请注意,此代码未经测试

在这种情况下,使用真正的HTML解析器是非常合适的…不要为此使用正则表达式,使用PHP DOM的东西。与问题相关:“和”“但是DOM的东西不起作用x(那么你到底为什么要标记为解决方案?!我很确定它会做你想做的,你只是还没有做到这一点。
 for($i = 1; $tags < count($tags) ; $i++){
 $text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text[$i]);
 }