[PHP] Saut de ligne dans une Simple Quote

Résolu
Sophie -  
 trend -
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

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  3. Sophie
     
    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
  4. Sophie
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Sophie
     
    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
  7. Sophie
     
    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
  8. Sophie
     
    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
  9. Sophie
     
    :'( oui :) merci, tu me sauve ma journée ;)
    0
  10. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    De rien et bonne fin de journée :-))
    0
  11. trend
     
    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