J'ai ce problème plutôt classique lors de l'interaction avec des bases de données de gestion des guillemets simples et des caractères spéciaux. En PHP j'échappe au guillemet simple avec un autre guillemet simple et les caractères de syntaxe regex avec preg_quote et ils travaillent en tant que pro. Le problème est avec javascript, il y a quelques points dans mes scripts où je passe directement les variables de base de données à l'exécution dans le javascript pour le construire et c'est là où il se brise.javascript simple double citation problème
Voici un exemple:
var href = "region_view.php?min_row=1&max_row=25®_name=^*&new''region' blah£"&order_by=reg_name asc";
Notez la variable reg_name, ce qui me donne une erreur dans la console Firebug que l'affectation invalide côté gauche. La première question est, y at-il une fonction comme eval ou quelque chose qui peut prendre soin de ces guillemets simples par défaut? Deuxième question est, ce type de choses sont faites tout au long de l'application. Revenir à travers chaque ligne javascript et en prenant soin de guillemets simples et doubles sera une tâche difficile à faire. Y at-il quelque chose comme global qui peut résoudre ce problème?
Mes questions peuvent sembler stupides mais j'ai googlé, je n'ai rien trouvé, je suis arrivé ici dans l'espoir si quelqu'un peut trouver une solution pour cela.
Merci,
Désolé pour la confusion. Non, je ne construis pas SQL en javascript ni ceci est regex. Ceci est un nom de région de test avec beaucoup de caractères spéciaux, juste pour voir où il se sépare, tous ces caractères sont échappés avant d'entrer, mais^* & new''region 'blah £ "est un nom de région et pendant l'élaboration de ce javascript , reg_name variable a la valeur du nom de la région qui existe dans db, c'est pourquoi reg_name =^* & new''region 'blah £ ". Je peux utiliser à nouveau la fonction PHPs sur fetch pour échapper les caractères spéciaux pour javascript mais les mêmes variables sont utilisées pour afficher les données dans les zones de saisie. Ceux-là vont aussi. –