Preg match all preg_match_所有不与foreach或for一起工作

Preg match all preg_match_所有不与foreach或for一起工作,preg-match-all,Preg Match All,这是工作 preg_match_all('/<script[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/', '<script src="brosta/brostapp/assets/global/plugins/bootstrap-datepaginator/bootstrap-datepaginator.min.js" type="text/javascript"></script>', $matches)

这是工作

preg_match_all('/<script[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/', '<script src="brosta/brostapp/assets/global/plugins/bootstrap-datepaginator/bootstrap-datepaginator.min.js" type="text/javascript"></script>', $matches);
print_r ($matches);
但事实并非如此。有什么帮助吗

$scripts='<script src="brosta/brostapp/assets/global/plugins/bootstrap-datepaginator/bootstrap-datepaginator.min.js" type="text/javascript"></script>|<script src="{$public}/brosta/brostapp/assets/global/plugins/bootstrap-confirmation/bootstrap-confirmation.min.js" type="text/javascript"></script>|<script src="{$public}/brosta/brostapp/assets/global/plugins/bootstrap-confirmation/dffde/bootstrap-confsssirmation.min.js" type="text/javascript"></script>';
$scripts=explode("|", $scripts);
for($i=0;$i<count($scripts);$i++) {
    preg_match_all('/<script[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/', $scripts[$i], $matches);
    print_r($matches);
}

你所说的“这不是”是什么意思?对我来说,它完全起作用。抱歉,sameYes正在起作用,但值有引号,在我的脚本中没有引号,也不起作用。