par
Ryle » 22 avr. 2009, 11:45
Le principe des expressions régulière est assez simple, il te faut constituer un masque, plus ou moins fin, qui va correspondre
très exactement à la chaine sur laquelle tu travailles.
Il faut pour cela faire attention aux caractères spéciaux des expressions. Ainsi, tu as bien pensé à protéger les crochets avec un antislash, mais tu as oublié de le faire pour les parenthèses du Array
$page = "textePage[0]['Texte'] et textePage[1] = new Array();";
ereg('^textePage\[0\]\[\'Texte\'\](.+)textePage\[1\] = new Array();$',$page,$match);
print_r($match); // => pas de résultat
ereg('^textePage\[0\]\[\'Texte\'\](.+)textePage\[1\] = new Array\(\);$',$page,$match);
print_r($match); // => Array ( [0] => "textePage[0]['Texte'] et textePage[1] = new Array();" [1] => " et ")
Le principe des expressions régulière est assez simple, il te faut constituer un masque, plus ou moins fin, qui va correspondre [b]très exactement[/b] à la chaine sur laquelle tu travailles.
Il faut pour cela faire attention aux caractères spéciaux des expressions. Ainsi, tu as bien pensé à protéger les crochets avec un antislash, mais tu as oublié de le faire pour les parenthèses du Array ;)
[php]$page = "textePage[0]['Texte'] et textePage[1] = new Array();";
ereg('^textePage\[0\]\[\'Texte\'\](.+)textePage\[1\] = new Array();$',$page,$match);
print_r($match); // => pas de résultat
ereg('^textePage\[0\]\[\'Texte\'\](.+)textePage\[1\] = new Array\(\);$',$page,$match);
print_r($match); // => Array ( [0] => "textePage[0]['Texte'] et textePage[1] = new Array();" [1] => " et ")[/php]