在PHP中使用regexp preg_match()函数获取所有匹配
我使用它在具有特定src或href模式的xml中搜索img元素。示例:在PHP中使用regexp preg_match()函数获取所有匹配,php,regex,preg-match,Php,Regex,Preg Match,我使用它在具有特定src或href模式的xml中搜索img元素。示例:“ '2837' ) 如何获取$matches数组中的所有匹配项 我已经实现了这一点,但想了解正则表达式是如何使用的。使用而不是。使用而不是。您需要将[“|”]转换为(?:“|”)。此['|“]将匹配'或或“。此外,您还需要使用preg\u match\u all进行全局匹配 preg_match_all('/< *\/? *' . 'img' . '[^>]*' . '(?:src|href)
,
preg\u match('/<*\/?*'//xml元素的开头
“img”/“img”阿曲布他
.[^>]*'//除>
.(?:src | href)*=*'//src或href属性之间可能有空格=
.(?:“|\”)级别1\/级别2\/(\d+)(“|\”)/”,/“级别1/级别2/2837”
$subject,$matches);
它可以工作,但只返回第一个匹配项
例如,如果主题包含以下内容:
$subject=“某物
我得到的结果是:
$matches=>数组
(
[0]=>“ '2837'
)
如何获取$matches
数组中的所有匹配项
我已经实现了这一点,但想了解正则表达式是如何使用的。使用而不是。使用而不是。您需要将[“|”]
转换为(?:“|”)
。此['|“]
将匹配'
或
或“
。此外,您还需要使用preg\u match\u all
进行全局匹配
preg_match_all('/< *\/? *'
. 'img'
. '[^>]*'
. '(?:src|href) *= *'
. '(?:"|\')level1\/level2\/(\d+)(?:"|\')/',
$subject, $matches);
preg\u match\u all('/<*\/?*'
“img”
. '[^>]*'
.(?:src | href)*=*'
.(?:“|\')级别1\/级别2\/(\d+)(“|\')/”,
$subject,$matches);
您需要将[“|”]
转换为(?:“|”)
。此['|“]
将匹配'
或
或“
。此外,您还需要使用preg\u match\u all
进行全局匹配
preg_match_all('/< *\/? *'
. 'img'
. '[^>]*'
. '(?:src|href) *= *'
. '(?:"|\')level1\/level2\/(\d+)(?:"|\')/',
$subject, $matches);
preg\u match\u all('/<*\/?*'
“img”
. '[^>]*'
.(?:src | href)*=*'
.(?:“|\')级别1\/级别2\/(\d+)(“|\')/”,
$subject,$matches);
@AvinashRaj ok。。你说得对,这将匹配一个字符,谢谢。我正在更新it@AvinashRaj好啊你说得对,这将匹配一个字符,谢谢。我正在更新它