2010-03-19 8 views
-1

Je cherche à extraire des valeurs à partir d'une charge complète de HTML (je viens de réduire les données pertinentes), il y a plusieurs éléments 'select', et je veux seulement extraire ceux dont l'élément 'name' correspond au nom 'aMembers'. Donc, les valeurs résultantes que je voudrais récupérer sont 5,10,25 et 30 (voir ci-dessous) comment puis-je y parvenir avec preg_match?Comment extraire des données spécifiques avec preg_match?

<DIV id="searchM" class="search"><select name="aMembers" id="aMembers" tabIndex="2"> 
    <option selected="selected" value="">Data 3</option> 
    <option value="5">A name</option> 
    <option value="10">Another name</option> 
</select> 
</DIV> 
<DIV id="searchM" class="search"><select name="bMembers" id="bMembers" tabIndex="2"> 
    <option selected="selected" value="">Data 2</option> 
    <option value="15">A name</option> 
    <option value="20">Another name</option> 
</select> 
</DIV> 
<DIV id="searchM" class="search"><select name="aMembers" id="Members" tabIndex="2"> 
    <option selected="selected" value="">Data 1</option> 
    <option value="25">A name</option> 
    <option value="30">Another name</option> 
</select> 
</DIV> 

Répondre

-1

Je voudrais essayer de diviser cette tâche en 2 étapes:

  1. correspondants balises nécessaires
  2. correspondant valeurs nécessaires dans les

De cette façon serait plus facile:

$str = 'your HTML code here...'; 
preg_match_all('|<select name="aMembers".*?</select>|ms', $str, $matches); 
foreach ($matches[0] as $select) { 
    preg_match_all('|value="(.+?)"|', $select, $matches2); 
    var_dump($matches2[1]); 
} 
Questions connexes