Problème regex + PHP

Zuly -  
 Utilisateur anonyme -
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. Utilisateur anonyme
     
    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
    0
  2. Zuly
     
    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 ?
    0
    1. Utilisateur anonyme
       
      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.
      0
  3. Zuly
     
    Pour quelqu'un qui aurait le meme pb :
    Regex entre ' '
    et pas " " !!!!
    0