Expression régulière

Fermé
nono1317 Messages postés 18 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 16 juillet 2003 - 16 juil. 2003 à 14:34
 Eddy - 16 juil. 2003 à 17:02
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!

4 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
16 juil. 2003 à 14:45
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 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
16 juil. 2003 à 14:47
A vue de nez:

la regexp: <span .*?>
remplacer par: <span>
0
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 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659 > eddy
16 juil. 2003 à 14:57
<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 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 16 juillet 2003 > sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019
16 juil. 2003 à 14:59
oui je viens de m'en appercevoir!

Merci!
0
nono1317 Messages postés 18 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 16 juillet 2003 > sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019
16 juil. 2003 à 15:03
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 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659 > nono1317 Messages postés 18 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 16 juillet 2003
16 juil. 2003 à 15:07
C'est dans quel langage ?
perl, shell unix ?
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
16 juil. 2003 à 14:48
en oubliant pas d'ajouter l'option "Ignore case" et "global".
0
nono1317 Messages postés 18 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 16 juillet 2003
16 juil. 2003 à 14:52
Merci!!!!

Par contre c koi "Ignore case" et "global"??
C dans ton logiciel?
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
16 juil. 2003 à 15:22
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