使用正则表达式查找并替换包含动态路径的行

时间:2014-01-07 17:35:10

标签: javascript jquery regex

使用某种类型的JavaScript我需要替换代码行中的动态文件路径,如下所示:

<script src="//widgets.com/scripts/complete-test.js?border=false&amp;header=false&amp;more=false"></script><div style="display: none;" class="widgets-html">

或者它看起来像这样:

<script src="//widgets.com/anotherdirectory/some-other-file.js?active=yes"></script><div style="display: none;" class="widgets-html">

所以基本上这行会采用这样的形式(注意 / ):

<script src="//widgets.com/*/*"></script><div style="display: none;" class="widgets-html">

并用以下内容替换整行:

<div class="widgets-html">

1 个答案:

答案 0 :(得分:1)

如果您只是想修改一些源代码,那么您可以轻松地执行以下操作:

str.replace(/<script src="\/\/widgets.com\/.+?\/.+?"><\/script><div style="display: none;" class="widgets-html">/, '<div class="widgets-html">');

但是如果你需要从已经加载的页面卸载脚本,那么这是不可能的,尽管有一些解决方法,例如手动清空JS对象或者由特定脚本返回或设置的任何内容。您还可以使用JS和/或jQuery切换.widgets-html div的显示。