Я хотел бы отсканировать определенный тег select для всех значений и содержимого option-тегов в PHP. Так что из этого
<select>
<option value="donald">duck</option>
<option value="david">moose</option>
</select>
<select id="something"> <!--ignore this one -->
<option value="sdfas">fs</option> <!-- ignore this one -->
...
Я бы получил что-то вроде этого:
$result['value'][0] == "donald"
$result['content'][1] == "moose"
И для этого я попытался:
<select>(?:[\s]*<option value="(?P<value>[^"]*)">
(?P<content>[^<]*)</option>)*[\s]*</select>
Но я получаю только одну строку (последнюю) со следующим кодом:
preg_match_all('%<select>(?:[\s]*<option value="(?P<value>[^"]*)">
(?P<content>[^<]*)</option>)*[\s]*</select>%',
$contents, $result, PREG_SET_ORDER);
Как мне поступить?