[PHP] Saut de ligne dans une Simple Quote

Résolu/Fermé
Sophie - 17 déc. 2006 à 10:29
 trend - 19 juin 2008 à 11:55
Bonjours,

voilà, j'ai une string:
$arr = 'test\r\ntest\\r\\n'; // test\r\ntest\\r\\n

j'aimerai que ça fasse:
test
test\r\n

juste avec l'application d'une fonction quelconque.
j'avais pensé à preg_replace, mais si vous pourriez m'aider pour que ça remplace uniquement les \r ou \n mais pas les \\r ou \\n

je vous remercie d'avance ;)

10 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 déc. 2006 à 13:03
Salut,

C'est ça que tu veux?!

1. \r\n
<?php
  $sophie="test\r\ntest\\r\\n\r\ntest";
  echo preg_replace('/(\\\\)/','$1',$sophie);
?>

Résultat
test
test\r\n
test


2. \\r\\n
<?php
  $sophie="test\r\ntest\\r\\n\r\ntest";
  echo preg_replace('/(\\\\)/','$1$1',$sophie);
?>
Résultat
test
test\\r\\n
test

2
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 déc. 2006 à 18:53
Re,

et ça?
<?php
  $sophie='test\r\ntest\\r\\n';
  $motif='/([^\\\]+)(\\\r\\\n)([^\\\]+)(\\\r)(\\\n)/';
  $remplace="$1\n$3\\\\$4\\\\$5";
  echo preg_replace($motif,$remplace,$sophie);
?>
Résultat
test
test\\r\\n


et avec ça
<?php
  $sophie='test\r\ntest\\r\\n';
  $motif='/([^\\\]+)(\\\r\\\n)([^\\\]+)(\\\r)(\\\n)/';
  $remplace="$1\n$3\$4\$5";
  echo preg_replace($motif,$remplace,$sophie);
?>
Résultat
test
test\r\n
2
stripslashes(preg_replace('/\\\r\\\n/s', "\r\n", 'test\r\ntest\\r\\n'))
donne:
test
test\r\n

le problème c'est pour les \r et \n (MAX & UNIX)
si quelqu'un pourrait m'aider?
0
stripslashes(preg_replace('/\\\n/s', "\r\n", 'test\r\ntest\\r\\ntest'))
donne:
test
test\r
test

alors que les \\r\\n j'aimerai qu'il s'affiche tel quel.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
en faite, les string sont dans des simple quote '
ce qui fait que les \r ou \n ne sont pas des saut de lignes, mais des caractères normaux.

J'aimerai qu'a partir d'une string simple quote ', on puisse transformé les \r ou \n en saut de ligne visible mais pas les \\r ou \\n
0
Voilà, j'ai remarqué que dans PHPMyAdmin, lorsque l'on fait une exportation de la base de donnée,
les saut de lignes sont converti en '\n', j'aimerai savoir comment lors de la restauration de la base il faisait pour convertir les '\n' en saut de ligne?
0
autre exemple:


echo serialize('test\n \\n test'); <= remarqué les quotes simple, car sinon le serialize est sur 2 ligne (problème si on recherche avec file).

je voudrait que unserialize donne
test
\n test
0
:'( oui :) merci, tu me sauve ma journée ;)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 déc. 2006 à 18:59
De rien et bonne fin de journée :-))
0
et si je veux mettre un gras je veux que ma page affiche test en gras y'a une solution pour ca par ce que quand je met <b> </b> mon email que j envoi affiche les balise <b> comme un texte mm si j ai mis le content type html et tt le saute ligne ca fonctione avec \n mais je cherche un aute truck qui permet le gras merci d avance
0