我想在 Javascript 中使用 preg_match 。请看部分内容:
<tag>lorem ipsum lorem ipsum src="http://www.example.com/files/2012/11/112_156362764.jpg" lorem ipsum lorem ipsum</tag>
我想得到src中的内容- 所以完整的 url。我怎样才能做到这一点 ?
我想在 Javascript 中使用 preg_match 。请看部分内容:
<tag>lorem ipsum lorem ipsum src="http://www.example.com/files/2012/11/112_156362764.jpg" lorem ipsum lorem ipsum</tag>
我想得到src中的内容- 所以完整的 url。我怎样才能做到这一点 ?
preg_matchstring.match
在 javascript 中:
str = '<tag>lorem ipsum lorem ipsum src="http://www.example.com/files/2012/11/112_156362764.jpg" lorem ipsum lorem ipsum</tag>'
url = str.match(/src="(.+?)"/)[1]
鉴于您根本没有为您想要的内容提供任何上下文,我所能处理的只是发布的示例和非常字面的问题,所以,这就是说:
var span = document.getElementById('test'),
text = span.firstChild.nodeValue,
src = text.match(/"(.*)"/)[1];
console.log(src);
这将检索"
字符之间包含的任何内容,更具体地说,仅针对src="..."
字符串,请使用:
var span = document.getElementById('test'),
text = span.firstChild.nodeValue,
src = text.match(/src="(.*)"/)[1];
console.log(src);
上面的内容,为了更实用的方法而重写,并希望有更多的多功能性:
function retrievePropertyFromString(needle, haystack) {
if (!needle || !haystack) {
return '';
}
else {
var reg = new RegExp(needle + '="(.*)"'),
matched = haystack.match(reg);
// if matched is not null AND matched has a length greater than zero:
// - return the match
// - else return an empty string
return matched !== null && matched.length > 0 ? matched[1] : '';
}
}
console.log(retrievePropertyFromString('src',document.getElementById('test').firstChild.nodeValue));
参考: