2015-12-20 2 views
-1

Я получаю что-то вроде этого: <h1> в элементе проверки, и я хочу, чтобы убрать все теги, подобные этому. Я пытаюсь получить чистое описание метатега, но поскольку я использую описание из редактора расширенного текста, эти символы амперсандов появляются.Rails: Удаление HTML-кодов из строки?

Я не уверен, что они называются?

Это не <h1>Title</h1> теги, где я пробовал strip_tags(@notes), и не работал.

ответ

0

Вы можете использовать это:

function decodeHtml(html) { 
 
    var txt = document.createElement("textarea"); 
 
    txt.innerHTML = html; 
 
    return txt.value; 
 
} 
 

 
// Example 
 
alert(decodeHtml('Hello &lt;strong&gt;world&lt;/strong&gt;!Hello <strong>world</strong>!'))

+0

Будет ли это работать для более сложных фраз? Как 'Hello world!' –

+0

Да - я добавил пример – CoderPi

+0

Это хорошо, если я хотел снять определенные теги, но в моем случае я хотел снять все – hellomello

1

Они называются htmlentities. У вас была правильная идея, чтобы стричь теги, но эта функция работает только тогда, когда они декодируются. Возможно, вы используете html_safe в той форме, где они набраны, в первую очередь.

Установить Cобственный жанр (https://github.com/threedaymonk/htmlentities). Затем расшифруйте ваши теги, а затем разделите теги. Вы можете инкапсулировать методы, например strip_tags(coder.decode(@notes)).

Но убедитесь, что вы правильно установили HTML-элементы, подобные описанным в readme gem.

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