je la chaîne suivante:Quel est le problème avec cette regex?
<?php
$string = '<meta name="Keywords" lang="fr" content="ecole commerce,
apres bac, ecole management, ecole de management, écoles de commerce,
école de management, classement ecole de commerce, ecole commerce paris,
ecole superieure de commerce, concours ecole commerce, hec, esc, prepa,
forum ecole commerce, avis ecole commerce" /><meta name="description"
content="Tout pour s\'informer et échanger sur les écoles de commerce
et de management, les concours, les classements, la prépa... Des
témoignages et un forum pour faire le meilleur choix" /><meta
name="robots" content="all" />';
?>
et j'essaie d'obtenir que la "description" méta de lui avec cette expression regex:
<?php
echo preg_replace('/(?:.*)name\="description" content\="(.*)"(?:.*)/i',
'$1', $string);
?>
mais ce que je reçois est:
Tout pour s'informer et échanger sur les écoles de commerce et de management,
les concours, les classements, la prépa... Des témoignages et un forum
pour faire le meilleur choix" /><meta name="robots" content="all
Alors, pourquoi le supplément " /><meta name="robots" content="all
?!
ps: il n'y a pas de sauts de ligne dans le code, je les ajoutais pour une meilleure lisibilité ...
Il essaye d'analyser HTML, c'est ce qui ne va pas avec. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – You