-1

我想在 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。我怎样才能做到这一点 ?

4

2 回答 2

3

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]
于 2012-11-24T00:29:36.713 回答
2

鉴于您根本没有为您想要的内容提供任何上下文,我所能处理的只是发布的示例和非常字面的问题,所以,这就是说:

var span = document.getElementById('test'),
    text = span.firstChild.nodeValue,
    src = text.match(/"(.*)"/)[1];
console.log(src);​

JS 小提琴演示

这将检索"字符之间包含的任何内容,更具体地说,仅针对src="..."字符串,请使用:

var span = document.getElementById('test'),
    text = span.firstChild.nodeValue,
    src = text.match(/src="(.*)"/)[1];
console.log(src);​

JS 小提琴演示

上面的内容,为了更实用的方法而重写,并希望有更多的多功能性:

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));

JS 小提琴演示

参考:

于 2012-11-24T00:28:55.900 回答