我想在Javascript中使用preg_match。请参阅内容的一部分:Javascript中的preg_match - 从代码中获取src(非标准html代码)
<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。请参阅内容的一部分:Javascript中的preg_match - 从代码中获取src(非标准html代码)
<tag>lorem ipsum lorem ipsum src="http://www.example.com/files/2012/11/112_156362764.jpg" lorem ipsum lorem ipsum</tag>
我想要得到的是在SRC - 这样的完整URL。我怎样才能做到这一点 ?
的preg_match是string.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));
参考文献:
还有的不是很多的情况下在这里..你想在JavaScript或使用正则表达式....? – JayC
虽然JavaScript有[正则表达式](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions),但它不会*具有'preg_match()'。 –
好的,那么是否有可能获得SRC中的内容?我想在JavaScript中使用任何可能的方法,在此先感谢。 – Jakub