Expression régulière

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

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    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...
    1. Modérateur
      A vue de nez:

      la regexp: <span .*?>
      remplacer par: <span>
      1. 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
      2. Modérateur
        @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.
      3. @sebsauvagePar 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.
      4. Modérateur
        @nono1317C'est dans quel langage ?
        perl, shell unix ?
    2. Modérateur
      en oubliant pas d'ajouter l'option "Ignore case" et "global".
      1. Merci!!!!

        Par contre c koi "Ignore case" et "global"??
        C dans ton logiciel?
        1. Modérateur
          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.