0 votes

Rails supprime la balise HTML parent

Il est assez facile d'assainir le HTML et de supprimer TOUTES les instances d'une balise HTML en utilisant les aides de Rails...

Mais comment enlever UN seul tag ? Dans ce cas, j'utilise un éditeur WYSIWYG qui insiste pour envelopper tout mon texte dans une balise <p> étiquette. Je veux supprimer cette balise parent sans supprimer les autres balises <p> dans le contenu du texte.

Je sais que je pourrais faire cela dans JQuery très facilement, mais j'ai l'impression que cela devrait être fait côté serveur dans mon contrôleur avant d'enregistrer le texte.

Y a-t-il un moyen de le faire ?

2voto

Randy Simon Points 2387

Votre texte est-il toujours enveloppé dans un seul bloc <p>...</p> ? Si c'est le cas, il suffit de le soustraire.

new_text = text[3, text.length - 7]

1voto

Harish Shetty Points 38877

Utilisez des expressions régulières, c'est-à-dire

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

Supprime les espaces de début et de fin au début et à la fin de l'opération. <p> étiquette.

Par exemple

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>"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X