Rails удаляет родительский HTML-тег - PullRequest
0 голосов
/ 09 марта 2010

Довольно легко очистить HTML и удалить ВСЕ экземпляры тега HTML с помощью помощников Rails ...

Но как просто удалить ОДИН тег? В этом случае я использую WYSIWYG-редактор, который настаивает на том, чтобы обернуть весь мой текст в тег <p>. Я хочу удалить этот родительский тег, не удаляя другие теги <p> в тексте.

Я знаю, что могу действительно легко сделать это в JQuery, но я чувствую, что это должно быть сделано на стороне сервера в моем контроллере, прежде чем я сохраню текст.

Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 09 марта 2010

Ваш текст всегда заключен в один блок

...

? Если это так, просто подставьте его.
new_text = text[3, text.length - 7]
1 голос
/ 09 марта 2010

Используйте регулярные выражения, т.е.

text.gsub(/(^[ ]*<p>[ ]*)|([ ]*<\/p>[ ]*$)/, '')

Удаляет начальные и конечные пробелы вокруг начала и конца тега <p>.

например:

text = "<p> <div><p>Hello World</p></div> </p>"
#=> "<div><p>Hello World</p></div>"

text = "        <p> <p>Hello World</p> </p>   "
#=> "<p>Hello World</p>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...