我想在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