我如何preg_match脚本标签src,但避免影响img标签src?

问题描述 投票:1回答:2

我必须匹配本地src,并使其通过网络加载。示例:

src="/js/my.js">

成为:

src="http://cdn.example.com/js/my.js">

这是我现在拥有的:

if (!preg_match("#<script(.+?) src=\"http#i",$page)){ 
$page = preg_replace("#<script(.+?) src=\"#is", "<script$1 src=\"$workingUrl", $page); 
}

遇到类似这样的东西时效果很好:

<script type='text/javascript' src='/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>

遇到类似这样的操作失败:

<script language="JavaScript">
window.moveTo(0,0);
window.resizeTo(screen.width,screen.height);
</script>

如果脚本标签不包含src,它将找到第一个图像标签的src并切换其URL。

我需要知道如何使它仅终止脚本标签上的匹配和/或如何更好地执行替换。

php preg-replace preg-match
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.