2013-05-21 3 views
0

У меня есть строка в поле ниже, не экранирован формате в HTML-странице:Escape символов в String на странице 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

Ваш запрос вопроса reallly dsnt соответствует вашему фактическому запросу .. – 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 и просто вернуть значение тега. Очень хорошо. Получил мой взнос – bphillips

+0

Спасибо @bphillips. Бог благословил. – Edper

+0

Эй, спасибо за ваш ответ ... но я думаю, я был обижен, чтобы войти в уже сбежавшую строку. Исходная строка должна выглядеть как 'SomeThing'; Я не думаю, что ваш скрипт заменяет строку экранированными символами. – user2405589