Php 尝试使用preg_match_all匹配包含特定类的所有图像

Php 尝试使用preg_match_all匹配包含特定类的所有图像,php,Php,我尝试使用preg\u match\u all函数匹配包含特定类的所有图像 这是我的旧代码,与内容中的所有图像匹配: preg_match_all( '/<img[\s\r\n]+.*?>/is', $content, $matches ); preg_match_all('//is',$content,$matches); 这是我尝试制作的代码,用于匹配只有特定类但失败的图像: preg_match_all( "/(<img((?!(.*?)class=['\"](.*?

我尝试使用
preg\u match\u all
函数匹配包含特定类的所有图像

这是我的旧代码,与内容中的所有图像匹配:

preg_match_all( '/<img[\s\r\n]+.*?>/is', $content, $matches );
preg_match_all('//is',$content,$matches);
这是我尝试制作的代码,用于匹配只有特定类但失败的图像:

preg_match_all( "/(<img((?!(.*?)class=['\"](.*?)comment-media(.*?)['\"](.*?)).)*>)+/is", $content, $matches );

preg\u match\u all(“/”(您的正则表达式匹配每个
img
标记,该标记没有
comment media
类。将此部分列为“负面前瞻”:

您需要删除该负面前瞻

生成的正则表达式将是:

(<img(.*class=['\"](.*)comment-media(.*)['\"].*)*>)+
要匹配不后跟数字的
foobar
,可以使用:

foo(?!bar)
# Notice the parenthesis around the part of the negative lookahead. You'll need these to use lookaheads with regex expressions.
foobar(?!([0-9]+)).*
请注意,前瞻不是捕获组的一部分


更多详细信息可用。

您的正则表达式匹配没有
注释媒体类的每个
img
标记。将此部分列为“负面前瞻”:

您需要删除该负面前瞻

生成的正则表达式将是:

(<img(.*class=['\"](.*)comment-media(.*)['\"].*)*>)+
要匹配不后跟数字的
foobar
,可以使用:

foo(?!bar)
# Notice the parenthesis around the part of the negative lookahead. You'll need these to use lookaheads with regex expressions.
foobar(?!([0-9]+)).*
请注意,前瞻不是捕获组的一部分

更多详情可供查阅