捕获正则表达式javascript中的第三个href
Catching 3rd href in regexp javascript?
RSS阅读器返回
Submitted by
<a href="http://www.reddit.com/user/guiness_as_usual">
guiness_as_usual
</a><br/>
<a href="https://www.spaceglasses.com/">
[link]
</a>
<a href="http://www.reddit.com/r/technology/comments/1kmdom/meta_glasses_become_a_real_life_iron_man/">
[242 comments]
</a>
我要做的是将2nd和3rd href属性捕获到两个不同的变量中。我必须用JavaScript来做这件事。有人知道如何使用正则表达式JavaScript捕获这两个值吗?
//编辑我正在寻找这个,但在Javascript中http://rubular.com/r/ESRimQsZHc我希望能够捕获结果[0]、结果[1]和结果[2]。
正如您在这个问题的答案中所读到的,您不能使用正则表达式解析HTML。在这个答案中,您将了解如何用JavaScript解析HTML。所以,试试这个:
var el = document.createElement('div');
el.innerHTML = yourRssString;
var innerElements = el.getElementsByTagName('a');
var secondHref = innerElements[1].getAttribute('href');
var thirdHref = innerElements[2].getAttribute('href');
如果您绝对需要使用regexp。你可以试试这个:
var text = 'submitted by <a href="http://www.reddit.com/user/guiness_as_usual"> guiness_as_usual </a> <br/> <a href="https://www.spaceglasses.com/">[link]</a> <a href="http://www.reddit.com/r/technology/comments/1kmdom/meta_glasses_become_a_real_life_iron_man/">[242 comments]</a>',
hrefs = [],
search = /href="([^"]+)"/g;
while(hreftmp = search.exec(text)) {
hrefs.push(hreftmp);
}
document.write(hrefs[1]);
document.write(hrefs[2]);
这很简单,并与你的榜样一起工作。
您可以像一样使用DOMParser
var parser = new DOMParser();
var tempDoc = parser.parseFromString(htmlStr,"text/html");
var anchor2 = tempDoc.getElementsByTagName('a')[1];
var anchor3 = tempDoc.getElementsByTagName('a')[2];
var href2 = anchor2.getAttribute("href");//or anchor2.href; to get fully qualified link
var href3 = anchor3.getAttribute("href");//or anchor3.href; to get fully qualified link
相关文章:
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 如何使用PHP和JS级联三个下拉列表
- 灯光问题(使用三个.js)
- 在三个.js中创建球体(例如地球)的磁力线
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- 根据前两个下拉ID显示第三个下拉列表
- 在数组JS中查找三个重复项
- Meteor和S3:如何通过一次上传/编辑定义三个不同的图像
- 如何替换javascript字符串中的前三个连字符
- 保存两个模型(属于第三个模型)和一个提交
- 将文本字段限制为三个数字
- 三个js键盘旋转
- 匹配三个正则表达式中的任意一个,以先到的为准(在javascript中)
- 加载模型与三个.js
- 连续三个检查宾果游戏
- 我需要帮助查找我的JavaScript小游戏中的错误(三个我没有得到的错误)
- 捕获正则表达式javascript中的第三个href
- 如何改变“三个”;链接属性具有特定的"href"使用jQuery