2013-06-13 4 views
2

Je veux analyser les caractères spéciaux (lire à partir d'un fichier) au format HTML. Par exempleComment html échapper caractère spécial sur les rails

**üö ä€ afd sdf sdfüäää** 

à

<p>&uuml;&ouml; &auml;&euro; afd sdf sdf&uuml;&auml;&auml;&auml;&nbsp;<br />&nbsp;</p> 

J'ai trouvé quelques solutions sur le web:

rack :: Utils.escape_html()

CGI :: escapeHTML()

ERB :: Util.html_escape()

Chacun d'eux va bien avec le texte normal:

HI"ksdlfj</?>>>.dsfklsd 

à

<p>HI"ksdlfj&lt;/?&gt;&gt;&gt;.dsfklsd</p> 

Mais il ne fait rien, quand je ces caractères spéciaux dans le texte d'entrée.

Vous avez de l'aide?

Rails Version: 3.0.5 Ruby: Ruby 1.9.3p429

Merci, Chandan

Répondre

1

vous pouvez utiliser htmlentities

require 'htmlentities' 
str = "üö ä€ afd sdf sdfüäää" 
HTMLEntities.new.encode(str, :named) 

#=> "&uuml;&ouml; &auml;&euro; afd sdf sdf&uuml;&auml;&auml;&auml;" 
0

j'ai finalement fait avec:

while str.gsub!(/[^0-9A-Za-z]/, ''); end

Mais parce que j'avais seulement besoin de 0-9 et a-z. J'espère que cela t'aides!