使用javascript/jquery从字符串中提取html元素

Pull html element from string using javascript/jquery

本文关键字:提取 html 元素 字符串 javascript jquery 使用      更新时间:2023-09-26

我想把特定的字符串分成两部分。第一部分包含文本,第二部分包含href元素。

这是我的字符串:

'Some custom string: John. <a href="/rest/link">Start something</a>'

第二部分始终是href元素。我想要这样的东西:

content = "Some custom string: John."
link = `"<a href="/rest/link">Start something</a>"`

我尝试了以下解决方案:

link = @data.content.match("<(.*)>") <- this return ["<a href="/rest/link">Start something</a>", "a href="/rest/link">Start something</a"]
content = @data.content.replace("<(.*)>", "") <- this return the same string

是否可以在没有regex的情况下获取这些数据?谢谢你的回答。

您可以使用DOMParser:

   var yourString = 'Some custom string: John. <a href="/rest/link">Start something</a>';
   var d = new DOMParser();
   var dom = d.parseFromString(yourString, "text/html");
   var a = dom.querySelector('a');
   var linkText = a.innerText
   var linkHref = a.href;
var str     = 'Some custom string: John. <a href="/rest/link">Start something</a>';
var index   = str.search(/<[a-z]/i);
var content = str.substring(0, index);
var html    = str.substring(index);