Rechercher : dans
Par :

[PHP] Saut de ligne dans une Simple Quote

Dernière réponse le 19 jun 2008 à 11:55:00 Sophie, le 17 déc 2006 à 10:29:00 
 Signaler ce message aux modérateurs

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 ;)

Meilleures réponses pour « [PHP] Saut de ligne dans une Simple Quote » dans :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Les balises HTML VoirHTML, un langage à balises Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple fichier texte...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...

1

Sophie, le 17 déc 2006 à 11:07:29

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?

Répondre à Sophie

2

Sophie, le 17 déc 2006 à 11:09:07

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.

Répondre à Sophie

3

lami20j, le 17 déc 2006 à 13:03:43
  • +1

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

lami20j

Répondre à lami20j

4

Sophie, le 17 déc 2006 à 13:46:51

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

Répondre à Sophie

5

Sophie, le 17 déc 2006 à 16:27:32

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?

Répondre à Sophie

6

Sophie, le 17 déc 2006 à 17:48:39

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

Répondre à Sophie

7

lami20j, le 17 déc 2006 à 18:53:17
  • +2

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
lami20j

Répondre à lami20j

8

Sophie, le 17 déc 2006 à 18:56:42

:'( oui :) merci, tu me sauve ma journée ;)

Répondre à Sophie

9

lami20j, le 17 déc 2006 à 18:59:27

De rien et bonne fin de journée :-)) lami20j

Répondre à lami20j

10

 trend, le 19 jun 2008 à 11:55:00

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

Répondre à trend