2010-12-15 44 views
0

Voici la chaîne.preg_match_all pour <option></option> pour obtenir toutes les valeurs correspondantes

$string = <option class="abcd" value="1.5">Some Text with White Spaces</option> 

Je veux obtenir toutes les variables correspondant (1.5 & Some Text with White Spaces) en utilisant preg_match_all ou quelque chose de similaire. Je le faisais il y a longtemps mais je ne m'en souviens pas maintenant. Nous espérons que vous pouvez aider ...

+1

Avez-vous envisagé d'utiliser un parseur DOM? –

+1

* (apparenté) * [Meilleures méthodes pour analyser HTML] (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon

+0

@Pekka Je ne suis pas si familier avec cette. De toute façon, je pense avoir une solution ... – pnm123

Répondre

0

je ne pouvais pas répondre à une question regex html & débordement de la pile sans mentionner s'il vous plaît utiliser un parser.

Cependant, si vous teniez vraiment à une regex, vous pourriez voir ci-dessous.


Si vos cordes ressemblent à cela, vous pouvez utiliser ...

preg_match_all('/<option\sclass="[^"]*"\svalue="([^"]*)">([^>]*)<\/option>/', $string, $matches); 

var_dump($matches); 

$matches[1] auront l'attribut value et $matches[2] aura le nœud de texte.