Php 在多个简单字符串上使用Pregreplace

Php 在多个简单字符串上使用Pregreplace,php,preg-replace,head.js,Php,Preg Replace,Head.js,我正在尝试实现head.js以异步加载所有js文件 为此,应按以下方式加载javascript文件: <script>head.js("file1.js")</script> <script>head.js("file2.js")</script> <script>head.js("file3.js")</script> head.js(“file1.js”) head.js(“file2.js”) head.js(“fi

我正在尝试实现head.js以异步加载所有js文件

为此,应按以下方式加载javascript文件:

<script>head.js("file1.js")</script>
<script>head.js("file2.js")</script>
<script>head.js("file3.js")</script>
head.js(“file1.js”)
head.js(“file2.js”)
head.js(“file3.js”)
如果我的文件按常规样式设置,如:

<script src="file1.js"></script>
<script src="file2.js"></script>
<script src="file3.js"></script>

我可以用这样的方法来获得我想要的结果:

$pattern = '~\<script src=(.*?)\>~';
$replacement = '<script>head.js($1)>';
$html = preg_replace($pattern,$replacement,$html);
$pattern='~\~';
$replacement='head.js($1)>';
$html=preg_replace($pattern,$replacement,$html);
然而,目前我的安装中有一个minifier,它将javascript文件组合成以下样式:

<script src="http://mysite.com/js/file1.js,/js/file2.js,/js/file3.js"></script>

我对reg表达式很糟糕……有谁能帮我找到一个替代模式,将它转换成head.js格式

几乎忘记了…文件的数量不限于三个,会更多,但数量未指定

$pattern = '!(\w+\.)+js!';
$html = '<script src="http://mysite.com/js/file1.js,/js/file2.js,/js/file3.js"></script>';
preg_match_all($pattern,$html, $match);
print_r($match);

您可以这样获得第一个文件:
print$match[0][0]
,第二个
打印$match[0][1]
等等。

我很喜欢这样,但不幸的是它不能处理文件名中的多个“.”,例如jquery.min.js返回min.jsi编辑了答案,现在它处理的是:jquery.min.js jquery.min.max.js jquery.js
Array ( [0] => Array ( [0] => file1.js [1] => file2.js [2] => file3.js ) )