Разбор содержимого в массиве - PullRequest
0 голосов
/ 10 ноября 2010

Мне нужно было бы получить только текст из определенного массива.Поэтому мне нужно разобрать это.У меня есть следующий код:

for(var x=0;x<contentArray.length;x++){
markup += '<td>'+contentArray[x+1] +'</td>'; 
x++;
}

, который дает следующий вывод:

<td><c>&lt;ul&gt;&lt;li&gt;The content text&lt;/li&gt;&lt;/ul&gt;</c></td>

И это выглядит так:нравится получать только текст (содержание текста & в этом случае).Как я могу делать синицы?

1 Ответ

2 голосов
/ 10 ноября 2010

Вы можете использовать эту функцию, чтобы скрыть HTML (украденный из исходного кода Prototype):

function unescapeHTML(html) {
    return html
               .replace(/&lt;/g,'<')
               .replace(/&gt;/g,'>')
               .replace(/&amp;/g,'&');
}

Затем вы можете использовать возможность синтаксического анализа jQuery, чтобы получить текст из тегов:

for(var x=0;x<contentArray.length;x++){
    var $el = $(unescapeHTML(contentArray[x+1])).find('li'); //use the unescaped HTML to construct a jQuery object and find the li tag within it

    markup += '<td>' + $el.text() + '</td>'; // get the text from the jQuery object and insert it into the fragment
    x++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...