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!

4 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    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
  2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    A vue de nez:

    la regexp: <span .*?>
    remplacer par: <span>
    0
    1. 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
    2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684 > 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
    3. nono1317 Messages postés 18 Statut Membre > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
       
      oui je viens de m'en appercevoir!

      Merci!
      0
    4. nono1317 Messages postés 18 Statut Membre > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
       
      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
    5. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684 > nono1317 Messages postés 18 Statut Membre
       
      C'est dans quel langage ?
      perl, shell unix ?
      0
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    en oubliant pas d'ajouter l'option "Ignore case" et "global".
    0
  4. nono1317 Messages postés 18 Statut Membre
     
    Merci!!!!

    Par contre c koi "Ignore case" et "global"??
    C dans ton logiciel?
    0
    1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
       
      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