我有以下字符串:
<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>
如何从字符串中提取文本(即StackOverFlow)?
答案 0 :(得分:2)
不需要正则表达式:
var t_ = document.createElement('div'),
a;
t_.innerHTML = htmlString; // <- string containing your HTML
a = t_.children[0];
var text = a.textContent || a.innerText; // W3C vs IE
实际上是parsing HTML with regular expressions is evil。虽然为特定情况提供表达式可能很容易,但对于不同的字符串可能效果不佳。
答案 1 :(得分:0)
document.getElementById('link_id').innerHTML;
这是我之前的解决方案,用户添加了更多描述,但这是当前描述的解决方案
var s = '<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>';
var text = s.match(/<a[^\b>]+>(.+)[\<]\/a>/)[1];
答案 2 :(得分:0)
如果你可以像你这样添加id
链接:`StackOverFlow',那么你可以得到这样的文字:
document.getElementById('linkID').innerHTML;
答案 3 :(得分:0)
window.onload = function(){
var text = '<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>';
var parser = null;
if (window.DOMParser){
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
} else{ // Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(text);
}
var a = xmlDoc.childNodes[0];
alert(a.childNodes[0].nodeValue);
}