Expression régulière

nono1317 Messages postés 18 Statut Membre -  
 Eddy -
Je cherche l'expression régulière correspondant à la ligne suivante :

<SPAN style=\"FONT-SIZE: 11pt; FONT-FAMILY: Verdana\">

En gros je veux, en utilisant la fonction ereg_replace de PHP, tout virer et ne garder que <SPAN>

Merci de votre aide!
A voir également:

4 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Astuce: utilise Regex Coach, un petit freeware qui permettra de tester en temps réel tes expressions régulières.

Minute... je prend mon Regex Coach et je te fais ça...
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
A vue de nez:

la regexp: <span .*?>
remplacer par: <span>
0
eddy
 
A vue de nez aussi, le ? n'est pas utile (<span.*> match avec <span suivi d'une série de caractères quelconques, la série pouvant être nulle, terminé par >).

Eddy
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667 > eddy
 
<span.*> est trop dangereux, car (en principe) il mangera tous les caractères qui suivent "<span ", y compris les balises suivantes.

Le ? force le * à etre "non-greedy" comme on dit.
Je pense que ça vaut mieux.
0
nono1317 Messages postés 18 Statut Membre > sebsauvage Messages postés 33415 Statut Modérateur
 
oui je viens de m'en appercevoir!

Merci!
0
nono1317 Messages postés 18 Statut Membre > sebsauvage Messages postés 33415 Statut Modérateur
 
Par contre g un blem avec le '?'
Ca me renvoi une erreur ke je n'ai pas qd je ne le met pas...

Ma syntaxe est :

$hometext=ereg_replace("<SPAN.*?>","<SPAN>",$hometext);

Vois-tu où est le blem?

Sachant que :
$hometext=ereg_replace("<SPAN.*>","<SPAN>",$hometext);
Ca marche.
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667 > nono1317 Messages postés 18 Statut Membre
 
C'est dans quel langage ?
perl, shell unix ?
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
en oubliant pas d'ajouter l'option "Ignore case" et "global".
0
nono1317 Messages postés 18 Statut Membre
 
Merci!!!!

Par contre c koi "Ignore case" et "global"??
C dans ton logiciel?
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
En principe les expressions régulières sont paramétrables.
i = ignore case = ignorer la casse (span SPAN spAN, etc.)
g= global = remplacer partout
etc.
0