Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 07h19   #1
Membre habitué
 
Avatar de toss.net
 
Homme Christophe
Apprenti .Net
Inscription : juillet 2009
Messages : 253
Détails du profil
Informations personnelles :
Nom : Homme Christophe
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Apprenti .Net

Informations forums :
Inscription : juillet 2009
Messages : 253
Points : 100
Points : 100
Par défaut Remplacer chaine avec exception (expression régulière)

Bonjour,

Dans une chaine de caractère je dois ajouter aux retours chariot par la balise HTML.
Exemple :
PS : C'est pas exactement ça mais c'est pour simplifier mon cas :
"bonjour le monde\n ceci est un texte \n"
par
"bonjour le monde<br>\n ceci est un texte <br>\n"

Seulement, ce cas peut arriver :
"bonjour le monde<br>\n ceci est un texte \n"
et mon remplacement donnerait ce problème :
"bonjour le monde<br><br>\n ceci est un texte \n"

En expression régulière, ou une autre méthode, serait-il possible d'avoir une exception de ne pas remplacer "<br>\n" mais que les "\n" isolé ?

Ma seule idée que j'ai actuellement, a été de d'abord remplacer <br>\n par un caractère bidon, de changer les \n en <br>\n et de remettre mes caracètres bidon en <br>\n ...
Qu'en pensez vous ?

Merci
christophe
toss.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2012, 01h07   #2
Nouveau Membre du Club
 
Homme
Inscription : février 2007
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2007
Messages : 94
Points : 32
Points : 32
Salut,

Ce code fonctionne bien si j'ai bien compris.
Code :
1
2
3
4
5
6
<?php
  2 $string = "bonjour le monde\n ceci est un texte \n";
  3 
  4 var_dump(str_replace("\n","<br>\n",$string));
  5 
  6 ?>
Et si tu veux que ton code rajoute la balise juste au retour chariot qui ne sont pas déjà précédés de cette balise, tu peux utiliser celui la qui est plus générique :
Code :
1
2
3
4
5
6
<?php
  2 $string = "bonjour le monde<br>\n ceci est un texte \n";
  3 
  4 var_dump(preg_replace("#(.+[^(<br>)] *)\n#U","$1<br>\n",$string));
  5 
  6 ?>
bilou_2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h10.


 
 
 
 
Partenaires

Hébergement Web