2014-11-03 2 views
0

Мне нужно преобразовать фрагменты текста, содержащие html-теги, в обычный текст, используя Javascript/Node.Js.Как правильно преобразовать html в javascript?

В настоящее время я использую для этого библиотеку String.Js, но проблема в том, что при удалении тегов (с использованием функций strip_tags()) также удаляется новая строка.

E.g.

<div>Some text</div><div>another text</div> 

становится

Some textanother text 

Вы знаете, как я могу избавиться от этой проблемы? Может быть, другая библиотека?

Спасибо!

+0

ты не можешь использовать DOM? – elclanrs

+0

@elclanrs не могли бы вы рассказать? благодаря! –

+0

Если вы можете использовать DOM, вы можете использовать 'element.innerHTML' для доступа к своим кишкам. – Compass

ответ

0

Привет, это очень простое решение проблемы, потому что я использую reg exp, и вы можете делать то, что хотите.

В этом случае мы удаляем все теги, кроме br тегов. Если вы хотите удалить ярлык br и добавить другой тег, возможно, \ n \ t или что вы хотите.

Я надеюсь, что это может вам помочь.

Chears !!!

var html = "<div>Some text</div><div>another text</div><br />test<div>10</div>"; 
var removeHtmlTags = html.replace(/(<([^>!br]+)>)/ig,""); 
console.log(removeHtmlTags); 
+1

Посмотрите на конкретный HTML-код OP. Это даже не о '
' тегах. Это далеко, слишком упрощенное решение, чтобы делать то, что хочет OP, и даже не работает над образцом HTML, который предоставляет OP. – jfriend00

1

Пробуйте использовать Cheerio. Он предоставит вам интерфейс jQuery для вас на стороне сервера. Тогда это просто:

var html = $(htmlstring).html(); 

Затем просто пройти через DOM для любой элементы, которые вы хотите и позвонить $(element).text();

+0

Это не похоже на то, что он решает проблему новой строки OP. – jfriend00

Смежные вопросы