转义HTML页面中字符串中的字符?

时间:2013-05-21 13:19:44

标签: javascript jquery

我在HTML页面中有以下非转义格式的字符串:

<a href="http://somesite/product?page=blahk&id=EA393216&tabs=7,0&selections=quarter:Q2+2013^&wicket:pageMapName=wicket-2\">SomeThing</a>

我需要的是使用jQuery / JavaScript只用链接“SomeThing”替换该字符串。

我已经在StackOverflow中查看了一些示例,但它们似乎不起作用。我刚开始使用jQuery和JavaScript,所以非常感谢这里的任何帮助。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

在jquery中尝试使用html()text()进行解码:

var str = '<a href="http://somesite/product?page=blahk&id=EA393216&tabs=7,0&selections=quarter:Q2+2013^&wicket:pageMapName=wicket-2\">SomeThing</a>';


 var decoded = $('<div />').html(str).text();

 alert($(decoded).text());

请参阅Fiddle demo

答案 1 :(得分:0)

var str = '&lt;a href="http://somesite/product?page=blahk&id=EA393216&tabs=7,0&selections=quarter:Q2+2013^&wicket:pageMapName=wicket-2\">SomeThing&lt;/a>';
var helper = document.createElement('p');

// evaluate as HTML once, text now "<a href..."
helper.innerHtml = str;

// evaluate as HTML again, helper now has child element a
helper.innerHtml = helper.innerText;

// get text content only ("SomeThing")
alert(helper.innerText);

答案 2 :(得分:0)

这是一个可能的起点。

希望这能让你开始!

function parseString(){
    var str = '&lt;a href="http://somesite/product?page=blahk&id=EA393216&tabs=7,0&selections=quarter:Q2+2013^&wicket:pageMapName=wicket-2\">SomeThing&lt;/a>';
    var begin = str.indexOf('\">',0)+2;             //--determine where the opening anchor tag ends  
    var end = str.indexOf('&lt;/a>',0);             //--determine where the closing anchor tag begins
    var parsedString = str.substring(begin,end);    //--grab whats in between;
    /*//--or all inline
    var parsedString = str.substring(str.indexOf('\">',0)+2,str.indexOf('&lt;/a>',0));
    */
    console.log(parsedString);
}
parseStr();