正则表达式:替换谷歌分析代码

时间:2012-06-20 15:07:02

标签: php regex

<script type="text/javascript"> 

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

</script>

<script type="text/javascript">
try

{

    var pageTracker = _gat._getTracker("xx-xxxxxxxx-x");

    pageTracker._setDomainName(".com");

    pageTracker._trackPageview();

} catch (err) { }

</script>

<script src='bla.com/gaAddons.js' type='text/javascript'></script>

我在多个文件中都有这个旧的Google分析代码。我需要用<script src='external_file.js' type='text/javascript'></script>替换上面的整个代码。

我正在使用php,这是我的正则表达式:/<script.*>.*<script src='.+gaAddons.js' type='.+'><\/script>/它不起作用且存在问题。

1 个答案:

答案 0 :(得分:0)

您可以尝试将s标记添加到正则表达式中,DOTALL修饰符也可以.捕获换行符:

/<script.*>.*<script src='.+gaAddons.js' type='.+'><\/script>/s

在这种情况下,您应该更好地使用HTML解析器而不是正则表达式。