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

tamoto Messages postés 1 Statut Membre -  
mpmp93 Messages postés 7217 Statut Membre -
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!


A voir également:

2 réponses

Erhic2 Messages postés 10 Statut Membre
 
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 7217 Statut Membre 1 340
 
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