Come faccio a estrarre i dati specifici con preg_match?
-
21-09-2019 - |
Domanda
Sto cercando di estrarre i valori da un intero carico di html (ho appena tagliato fino ai dati rilevanti), ci sono più 'selezionare' gli elementi, e solo voler estrarre chi è elemento 'nome' corrisponde al Name 'AMEMBERS. Quindi, i valori risultanti vorrei recuperare sono 5,10,25 e 30 (vedi sotto) come posso raggiungere questo obiettivo con 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>
Soluzione
vorrei provare a dividere questo compito in 2 fasi:
- corrispondenza necessaria tag
- corrispondenti valori necessari in loro
In questo modo sarebbe più 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]);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow