Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
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/04/2006, 21h21   #1
stk
Invité régulier
 
Inscription : juin 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 12
Points : 6
Points : 6
Par défaut PHP et expressions rationnelles

Salut,
J'ai un petit souci de traitement d'un texte saisi à l'aide d'un formulaire!

Un fois que le formulaire est traité, je lance une fonction (voici juste les lignes qui peuvent être intéressantes),

Code :
1
2
3
4
5
6
7
8
9
10
11
function tagtohtml ($texte) {
 
  $texte=strip_tags($texte);
 
  $texte=nl2br($texte);
 
  $texte=preg_replace('/\<font color="(.*?)"\>(.*?)\<\/font\>/','[color=$1]$2[/color]',$texte);
 
  return $texte;
 
}
Donc jusque là pas de problème. Si la phrase est sur une seule ligne ca marche, mais si le texte est sur plusieurs lignes ca ne marche plus, je me doute que c'est à cause du (.*?) mais je ne vois pas comment faire pour que les <br /> soient analysés.
J'ai aussi pensé à mettre cette ligne :
Code :
$texte=preg_replace('/\<font color="(.*?)"\>(.*?)\<\/font\>/','[color=$1]$2[/color]',$texte);
, avant le nl2br, pour mettre (.*?\r\n) mais c'est toujours pareil!

Voila, merci d'avance
stk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2006, 21h28   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Le méta-caractère . ne prend pas par défaut les retours à la ligne.
=> Pour ce faire utilise l'option s
http://www.php.net/manual/fr/referen....modifiers.php
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2006, 22h07   #3
stk
Invité régulier
 
Inscription : juin 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 12
Points : 6
Points : 6
beaucoup, je ne savais pas que l'on pouvait utiliser des options!
En tout cas ca donne le résultat que je souhaitais!
stk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h37.


 
 
 
 
Partenaires

Hébergement Web