PHP - Ne pas interpréter les retours à la ligne

Fermé
tamoto Messages postés 1 Date d'inscription mercredi 30 janvier 2013 Statut Membre Dernière intervention 30 janvier 2013 - Modifié par tamoto le 30/01/2013 à 16:03
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 30 janv. 2013 à 22:21
Bonjour,

Je dois envoyer un certain nombre de données à un webservice en POST.
Le webService (sur lequel je n'ai pas la main) utilise les retours chariot comme séparateur.

Mon soucis est que php "interprète" (je ne sais pas si c'est vraiment ça...) ces retours chariot et les remplace par des espace (" "). Ces espaces bloquent ensuite ma requête au niveau du webservice.

Ma question est donc : est-il possible de spécifier un retour chariot qui ne serait pas "interprété" ?

exemple de code :

$stringToPost = "Produit|250123|30-01-2013|\r\n75018|Paris|\r\nTotal|150|\r\n";
echo $stringToPost;

Le rendu :

Produit|250123|30-01-2013| 75018|Paris| Total|150|


J'ai essayé avec "\r", "\n", "\r\n", PHP_EOL, chr(13), chr(10), chr(13).chr(10), "<br/>" (qui du coup est interprété en tant que texte) et même un saut de ligne "manuel" (avec la barre d'entrée -_-').

Ca fait presque 4h que je tourne sur le net pour trouver une solution mais rien...
Merci d'avance pour vos réponses!


2 réponses

Erhic2 Messages postés 7 Date d'inscription mercredi 30 janvier 2013 Statut Membre Dernière intervention 18 août 2013
30 janv. 2013 à 19:43
Je ne suis vraiment pas sûr de bien comprendre mais est-ce que cela t'aiderait ? :

code :

$stringToPost = "Produit|250123|30-01 2013|\r\n75018|Paris|\r\nTotal|150|\r\n";
echo str_replace(" ", "", $stringToPost);

résultat :

Produit|250123|30-01-2013|75018|Paris|Total|150|

Cela me parait un peu trop simple pour résoudre ton problème mais on ne sait jamais :s
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
30 janv. 2013 à 22:21
Bonjour,

les \n et \r sont ignorés en HTML

faites ceci et vous comprendrez:

<pre>
<?php
$stringToPost = "Produit|250123|30-01-2013|\r\n75018|Paris|\r\nTotal|150|\r\n";
echo $stringToPost;
?>
</pre>

et là les retours à la ligne sont interprétés


0