La solution est sans doute facile, mais je ne peux pas comprendre pourquoi il ne fonctionne pas:ne peux pas comprendre pourquoi « n » est pas supprimé
Je soumets un de l'utilisation de la fiche de formulaire jQuery -in, puis exécutez le travers:
str_replace(array("\r", "\n\t"), "", $_POST['mytext'])
en regardant l'en-tête HTTP, "\ n" ne sont pas ajoutés partout. Cependant, quand je puis imprimez $ _POST [ « mytext »] de PHP (uniquement pour des fins de test), Firebug montre tout « \ n » sur la place:
<html>\n <head>\n <title></title>\n </head>\n <body>\n <h3>\n We are.....
Ce qui est intéressant est que si je sélectionne cette sortie, l'assigner manuellement à un var, puis exécuter str_replace dessus, tous les caractères \ n disparaissent. Pourquoi pas avec la variable $ _POST?
Aidez-nous s'il vous plaît. Aller fou avec ce qui semble être une tâche triviale.
P.S. J'ai une règle de réécriture .htaccess, mais douter salit avec quoi que ce soit:
RewriteRule ^/update_text/? my.php?action=update_text [QSA]
QSA est nécessaire pour transmettre d'autres _GET $ les données de mes JS.
Problème "sorte de solution". J'ai remplacé $ _POST par $ _REQUEST et tout est dandy maintenant. Je ne comprends toujours pas pourquoi $ _POST se comporterait de cette façon.
Je ne comprends pas le problème. En PHP, vous remplacez \ r par \ n et un caractère de tabulation (\ t). Ensuite, dans le texte généré, vous voyez \ n suivi d'un caractère de tabulation. N'est-ce pas exactement ce que vous avez demandé au code de faire? Si vous ne voyez pas \ n dans l'en-tête (je suppose que vous entendez par là les données envoyées au serveur), vous n'avez peut-être que \ r caractères dans les données envoyées, et \ n? – nitro2k01
Oh, attends, j'ai mal lu le code ... – nitro2k01
rappelez-vous - \ n ne signifie rien au HTML. Pour afficher correctement dans une page, vous souhaitez '
' à la place. –