2013-05-21 32 views
0

我在下面的非转义格式的HTML页面的字符串:在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的使用只是链接“东西”来替换字符串。

我看过一些StackOverflow的例子,但他们似乎并没有工作。我刚刚开始使用jQuery和JavaScript,所以在此感谢任何帮助。

任何想法?

+0

我有一种感觉,它可能有助于知道你是怎么得到这个字符串。如果这只是在'innerHTML'检索后最终得出的结果,那么可能有更好的方法来检索所需的值。 (如果这是出于某种原因,从AJAX调用返回单元或其他东西,那么问题就像你说的那样) – Katana314

+1

您的问题语句真正与您的实际查询相匹配。 – Anubhab

+1

@ user2405589'<'是实体名称,而不是转义码。 – Krazer

回答

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); 
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(); 
1

尝试html()text() jQuery的解码:

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 decoded = $('<div />').html(str).text(); 

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

Fiddle demo

+1

如果您使用的是jQuery,这非常漂亮。非常有创意的方式来解析html entites并返回标签值。非常好。得到我的upvote – bphillips

+0

谢谢@ bphillips。上帝保佑。 – Edper

+0

嘿,谢谢你的回复......但我想我被冤枉了进入一个已经逃脱的字符串。原始字符串应为'SomeThing'; 我不认为你的脚本用转义字符替换字符串。 – user2405589