Javascript 找到一个单词并从以下href获取url
我有:Javascript 找到一个单词并从以下href获取url,javascript,node.js,Javascript,Node.js,我有: var text='blablablablablablabla; 如何获取类bla后面的第一个URL 抱歉,忘了提到我在node.js的服务器端使用它。因此,我基本上将HTML作为字符串在nodejs中使用。可能是regex?如果这是bla类的第一个元素,请尝试 var text = '<p class="bla">blablabla<a href="/blabla">blabla</a></p><p class="class2"&
var text='blablablabla
blablabla
;
如何获取类bla
后面的第一个URL
抱歉,忘了提到我在node.js的服务器端使用它。因此,我基本上将HTML作为字符串在nodejs中使用。可能是regex?如果这是
bla
类的第一个元素,请尝试
var text = '<p class="bla">blablabla<a href="/blabla">blabla</a></p><p class="class2">blablabla<a href="/blabla">blabla</a></p>';
var text='blablablabla
class=“class2”>blablabla'
var parser=新的DOMParser();
var doc=parser.parseFromString(text,“text/html”);
log(doc.getElementsByClassName('bla')[0].getElementsById('a')[0].href);
PS:我把代码用引号括起来。请不要使用正则表达式。:)
HTML不是一种常规语言,因此必须使用HTML解析器。是推荐的,因为它是最快的。这应该做到:
var text = '<p class="bla">blablabla<a href="/blabla">blabla</a></p><p>class="class2">blablabla<a href="/blabla">blabla</a></p>'
var parser = new DOMParser();
var doc = parser.parseFromString(text, "text/html");
console.log(doc.getElementsByClassName('bla')[0].getElementsById('a')[0].href);
var htmlparser=require(“htmlparser2”)
var seen_bla=错误
var结果
var parser=新的htmlparser.parser({
onopentag:函数(名称、属性){
如果(attribs.class=='bla'){
看见了吗
}
如果(名称=='a'&&seed_bla&&result==null){
结果=attribs.href
}
},
onend:function(){
console.log(结果)
}
})
write(“blablabla
blablabla
”)
parser.end()
看起来您希望获得一个链接,该链接是classbla
元素的子元素,对。我刚刚补充说我正在node.js中使用它。您可以使用。然后您必须使用或使用正则表达式。
var htmlparser = require("htmlparser2")
var seen_bla = false
var result
var parser = new htmlparser.Parser({
onopentag: function(name, attribs){
if (attribs.class === 'bla') {
seen_bla = true
}
if (name === 'a' && seen_bla && result == null) {
result = attribs.href
}
},
onend: function() {
console.log(result)
}
})
parser.write('<p class="bla">blablabla<a href="/blabla">blabla</a></p><p class="class2">blablabla<a href="/blabla">blabla</a></p>')
parser.end()