Problème regex + PHP

Bonjour tout le monde,

Mon problème est le suivant :
Je voudrais afficher la variable $matches[1] qui est la sortie de preg_match comme ceci

preg_match("#(\$[\w]+)\s=\s\"([\w]+)#", $contenu, $matches);
echo $matches[1];

Sachant que ma regex ne contient pas d'erreur (je l'ai vérifiée avec https://lumadis.be/regex/test_regex.php
Pourquoi mon serveur local me renvoie-t-il " Notice: Undefined offset: 1 in /opt/lampp/htdocs/www/get.php on line 6" ? =(

Cette variable existe bien non ? =(

Merci d'avance ;)
Configuration: Linux
Firefox 3.0.14

4 réponses

  1. au lieu de vouloir afficher directement $matches[1]; pour débugger
    fait ça :
    print "<pre>";
    print_r($matches);
    print "</pre>";

    Tu verras bien facilement ce que contient $matches
    1. Merci de ta réponse =)

      Maintenant le probleme est que cette variable $matches contient :

      Array
      (
      )

      et

      print "<pre>";
      print_r($matches[1]);
      print "</pre>";

      me renvoi

      Notice: Undefined offset: 1 in /opt/lampp/htdocs/www/get.php on line 7

      ... La je dois dire que je ne comprends pas =/
      Quelqu'un saurait m'éclairer ?
      1. Le print_r t'indiquais justement que $matches était un Array ne contenant rien, donc forcément $matches[1] n'allait pas être défini ;-). Mais je ne savais pas pour le coup des cotes au lieu des guillemets pour les expressions régulières.
    2. Pour quelqu'un qui aurait le meme pb :
      Regex entre ' '
      et pas " " !!!!