Expression réguliere : Enlever les <br> en des balises

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par comparef, 13 Octobre 2007.

  1. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    Bonjour,

    Je m'arrache les cheuveux depuis quelques heures sur une application qui vue de haut parrait pourtant simple :

    j'ai un texte contenant des retours chariots et des balises [xxx] et [/xxx].

    Je souhaiterait retourner ce texte en mettant ce qui est entre les balises [xxx] dans un champs textarea. Jusque la rien de compliqué, je fait donc :

    Code:
    $texte=nl2br($texte);
    $texte = preg_replace('!\[xxx\](.+)\[/xxx\]!Uis',"<textarea> $1 </textarea>",$texte); 
    echo $texte;
    Tout se passe bien sauf que dans le champs texte area, il m'affiche biensure des <br /> qui on été insérés par nl2br et qui ne sont pas interprétés puisque c'est dans une textearea...

    Par exempe, si
    Code:
    $texte ='bla
    bla
    bla
    [xxx]bli
    bli
    bli[/xxx]
    bla
    bla';
    il m'affichera :
    Je cherche donc a ce qu'il n'y ai pas ce <br /> dans la textearea...

    J'ai essayé toutes sortes debidouilles du genre
    Code:
     $texte = preg_replace('!\[code\](.*)<br />(.*)\[/code\]!Uis',"[code]$1 $2
    ",$texte); [/code]mais n'étant pas tres a l'aise avec les expressions régulieres je n'ai pas réussit a obtenir le résultat recherché, c'est a dire :
    Quelqu'un a une idée ?

    Merci d'avance pour votre aide,
    Robin
     
  2. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    939
    J'aime reçus:
    2
    $texte = str_replace( '<br />', '', $texte ); ?
     
  3. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    +1

    Je crois qu'il n'y à pas plus simple sur ce coup là ;)
     
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    j'ai bien une petite idée, a voir ce qui se passe en sortie 8)

    Code:
    $texte = preg_replace("#[code](.*)
    #esi","''.str_replace('<br />','','\\1').''", $texte );[/code]
     
  5. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    non car je veux avoir les <br /> pour la mise en forme du texte, sauf dans les textearea dans lesquelles je souhaites des simples retours chariot.

    Et ce script retire les <br /> dans tout le texte.

    KOogar>> effectivement, je n'avais pas pensé a l'option e, c'est bon ca marche ! merci.

    J'ai juste pris la fonction preg_replace_callback a la place de preg_replace pour eviter de jongler avec les guillemets, donc au final, si ca interresse quelqu'un, voila ce que ca donne :

    Code:
    	function FonctSuppreBr($capture){ 
    	global $haut_txtarea,$bas_txtarea; 
    	   $texte = $haut_txtarea .eregi_replace('<br />','',$capture[1]). $bas_txtarea;
    	   return $texte; 
    	} 
    
    
    $haut_txtarea="<textarea...>";
    $bas_txtarea="</textarea>";
    
    $texte = preg_replace_callback('#\[xxx\](.*?)\[/xxx\]#si',"FonctSuppreBr",$texte); 
    Merci encore !
     
  6. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Que fait cette option e ?
     
  7. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    939
    J'aime reçus:
    2
    Code:
    $texte = $haut_txtarea .eregi_replace('<br />',"\n",$capture[1]). $bas_txtarea;
    
    non?
     
  8. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
  9. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
  10. comparef
    comparef WRInaute occasionnel
    Inscrit:
    5 Avril 2005
    Messages:
    434
    J'aime reçus:
    0
    en fait dans mon cas non car les retours chariots sont déja présent a la base donc j'ai juste a supprimer les <br />
     
Chargement...
Similar Threads - Expression réguliere Enlever Forum Date
Idées d'expressions régulières utiles en SEO Référencement Google 17 Mai 2021
Une expression régulière pour la home et un sous répertoire ? Google Analytics 22 Juin 2016
problème avec expression regulière en java Développement d'un site Web ou d'une appli mobile 21 Août 2015
PHP Expressions Régulières ! Modifier plusieurs occurences Développement d'un site Web ou d'une appli mobile 5 Août 2015
Création d'objectif et expression régulière analytics Google Analytics 15 Janvier 2015
Expression régulière Objectif Google Analytics 1 Février 2014
Expression reguliere récuperer ses backlinks Développement d'un site Web ou d'une appli mobile 2 Mai 2013
Expression régulière : extraire une chaine variable d'une chaine Développement d'un site Web ou d'une appli mobile 4 Septembre 2012
Expressions régulières début et fin de mot Développement d'un site Web ou d'une appli mobile 11 Août 2012
Expression régulière en objectif Google Analytics 31 Mai 2012
Expressions régulières et filtre Google Analytics Google Analytics 18 Avril 2012
Expressions régulières entonnoir de conversion Google Analytics 3 Février 2012
Expression régulière simple mais je bloque Référencement Google 16 Décembre 2011
Expression régulière pour rechercher/remplacer Dreamweaver Développement d'un site Web ou d'une appli mobile 5 Décembre 2011
Expression régulière MySql REGEXP pour transformer des liens Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
expressions régulieres et fichier robots Débuter en référencement 27 Mai 2011
Expressions Régulières ! J'ai une question Développement d'un site Web ou d'une appli mobile 12 Avril 2011
Problème expression régulière Développement d'un site Web ou d'une appli mobile 1 Avril 2011
PHP Expression régulière : rendre clickable toutes les url d'un texte Débuter en référencement 16 Février 2011
Expression régulière URL Rewriting et .htaccess 4 Février 2011