J'essaie d'écrire une méthode identique à celle du C'est ce que j'ai jusqu'à présent (j'ai testé le modèle à Rubular .com et cela fonctionnait): p> et j'utilise peut essayer de me aider à déterminer pourquoi je ne me désipe pas Sortie ( mysqli_real_escapape_string code> dans php. Il faut une chaîne et échappe à tous les caractères «dangereux». J'ai cherché une méthode qui le fera pour moi mais je ne peux pas en trouver un. J'essaie donc d'écrire un seul.
start_string code> comme chaîne que je veux changer et
correction_string code> comme ce que je veux
start_string code> pour se transformer en: p>
correction_string code>) ou dites-moi où je peux trouver une méthode qui le fait, vaut mieux me dire les deux? Merci beaucoup! P> p>
5 Réponses :
Jetez un coup d'œil aux méthodes de désinfection Aciverecord: http: / /api.rubyonrails.org/classes/acterecord/base.html#method-c-sanitize_sql_array P>
Cela devrait vous aider à démarrer:
print %("'*-.).gsub(/["'*.-]/){ |s| '\\' + s } \"\'\*\-\.
Votre motif n'est pas défini correctement dans votre exemple. Ceci est aussi proche que possible d'accéder à la sortie souhaitée.
sortie p> Il va prendre des modifications de votre part pour l'obtenir à 100% mais au moins vous peut voir votre modèle en action maintenant. p>
J'ai changé de fonction supérieure à celle-ci:
def self.escape_characters_in_string(string) pattern = /(\'|\"|\.|\*|\/|\-|\\|\)|\$|\+|\(|\^|\?|\!|\~|\`)/ string.gsub(pattern){|match|"\\" + match} end
Vous mettez donc
start_string code> dans
Escape_characters_in_string code> et vous n'obtenez pas ce que vous attendez? Quelle est la sortie incorrecte? Vous nous avez donné ce que vous attendez de voir, dites maintenant à utiliser ce que vous voyez réellement ...
Lorsque je
met code> les résultats de
Escape_characters_in_string (start_string) code>, rien ne change; Il imprime le contenu du
start_string code>