1

我有一个巨大的字符串。该字符串采用以下形式:

  var str =  "content.....
              more content.........
              <script src='url' ... />
              <script src='url' ... />
              <script src='url' ... />
              ....
              .........";

现在我想访问字符串中的所有 url。所以为此我使用以下javascript:

    var regex = //this part i required
    var matches = [];
    var match = regex.exec(str);

谁能给我正则表达式以从上述字符串访问 src 的所有值?

4

1 回答 1

4

您正在导入 jQuery,因此,假设您的字符串是有效的 HTML,您可以使用它来解析它并获取您的 URL。

事实证明这并不容易,因为 jQuery 不允许您查找<script>元素。

我提出了这个解决方案,但它显然不是很优雅:

str = str.replace(/script/g, 'placeholder');
var urls = $('placeholder', '<div>'+str+'</div>').map(
    function(){return $(this).attr('src')}
).get();

这将创建一个包含所有 url 的数组。

示范

于 2013-01-12T13:32:42.470 回答