Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要正则表达式才能访问字符串_Javascript_Jquery - Fatal编程技术网

Javascript 需要正则表达式才能访问字符串

Javascript 需要正则表达式才能访问字符串,javascript,jquery,Javascript,Jquery,我有一根很大的绳子。字符串的格式如下所示: var str = "content..... more content......... <script src='url' ... /> <script src='url' ... /> <script src='url' ... /> ....

我有一根很大的绳子。字符串的格式如下所示:

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

有人能给我正则表达式来访问上面字符串中src的所有值吗?

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

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

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

str = str.replace(/script/g, 'placeholder');
var urls = $('placeholder', '<div>'+str+'</div>').map(
    function(){return $(this).attr('src')}
).get();
str=str.replace(/script/g,'placeholder');
var url=$('placeholder',''+str+'').map(
函数(){return$(this.attr('src')}
).get();
这将生成一个包含所有URL的数组


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

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

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

str = str.replace(/script/g, 'placeholder');
var urls = $('placeholder', '<div>'+str+'</div>').map(
    function(){return $(this).attr('src')}
).get();
str=str.replace(/script/g,'placeholder');
var url=$('placeholder',''+str+'').map(
函数(){return$(this.attr('src')}
).get();
这将生成一个包含所有URL的数组


不需要使用正则表达式,最好在jquery对象中解析字符串。请参阅dystroy的回答这是针对PHP的,但您需要的应该非常类似:不需要使用正则表达式,最好是在jquery对象中解析字符串。请参阅dystroy的答案这是一个PHP,但您需要的应该非常相似: