Pb d'exp reg

maure -  
StreM Messages postés 515 Statut Membre -
Bonjour,
j'ai un pb avec une exp reg que j'essai d'écrire

voila mon texte :

<?xml version="1.0" encoding="iso-8859-1" ?>

et j'aimerais récupérer la valeurs de l'ncoding
sachant que cette valeur paut aussi être entre ' ' comme :

<?xml version = '1.0' encoding = 'GBK'?>

il y'a aussi le pb d'espace entre le mot encoding, le signe = et la valeur des fois il y'a un espace mais il peuvent être collés (pas d'espace)

voici mon essaie mais il ne fonctionne pas :

if (eregi("( encoding=\")([^\"]*)",$data, $res))
$encoding=$res[2];

1 réponse

  1. StreM Messages postés 515 Statut Membre 124
     
    Coup de pousse :
    avec un match, je detecte GBK en position 4 du tableau :
    /(encoding)(\s*=\s*)('|")(\S+)('|")/

    Mais dans la chaine "encoding..." à toi de voir pour que ca marche avec la chaine entiere.

    Liens utiles :
    http://www.aidejavascript.com/article146.html
    http://www.aidejavascript.com/article64.html
    http://www.aidejavascript.com/article65.html
    http://www.aidejavascript.com/article66.html
    0
    1. maure Messages postés 5 Statut Membre
       
      en position 4??
      moi je recupére rien en cette position ...

      Merci pour ta réponse
      0
    2. StreM Messages postés 515 Statut Membre 124
       
      $string = 'encoding="iso-8859-1"';
      $exp = "(encoding)(\s*=\s*)(\"|')([_a-z0-9-]*)(\"|')";
      if (eregi($exp, $string, $res)) {
          echo "'$string' contient $exp !";
      }
      echo "<br>".$res[4];
      0