IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Remplacer chaine avec exception (expression régulière)


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Points : 366
    Points
    366
    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

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 66
    Points
    66
    Par défaut
    Salut,

    Ce code fonctionne bien si j'ai bien compris.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?>

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/05/2012, 17h23
  2. Réponses: 3
    Dernier message: 29/10/2009, 09h31
  3. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56
  4. Problème avec les expressions régulières
    Par Premium dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 18/06/2006, 16h41
  5. Réponses: 7
    Dernier message: 27/10/2005, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo