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,但您需要的应该非常相似: