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


Regular expression: replace google analytics code

<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>

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

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

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

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

不过,在这种情况下,您可能最好使用 HTML 解析器而不是正则表达式。