|
|
|
|
<select class="vi-is1-jsSelect" id="63" name="Waist Size">
<option value="-1">- Select -</option>
<option value="1">28</option>
<option value="2">29</option>
<option value="3">30</option>
<option value="4">36</option>
</select>
|
Нужно соответственно спарсить
<option value="1">28</option>
<option value="2">29</option>
<option value="3">30</option>
<option value="4">36</option>
|
Проблема в том, что количество <option> не известна, + еще недостаточно знаний в рег.экспах.
Грубо говоря в шаблоне сказать, что ищем <select class="vi-is1-jsSelect" id="63" name="Waist Size">, как нашли ищем <option value="([0-9]+)">([0-9]+)</option> до тех пор пока не дойдем до </select>. Такое возможно? Или нужно другую логику? | |
|
|
|
|
|
|
|
для: Trunk
(04.08.2010 в 14:43)
| |
<?php
$string = '<select class="vi-is1-jsSelect" id="63" name="Waist Size">
<option value="-1">- Select -</option>
<option value="1">28</option>
<option value="2">29</option>
<option value="3">30</option>
<option value="4">36</option>
</select> ';
$pattern = "/(?:<select.+>)(.+)(?:<\/select>)/isU";
preg_match_all($pattern, $string, $matches);
$pattern = "/<option[^>]+value=\"[0-9]+\"[^>]*>[0-9]+<\/option>/isU";
preg_match_all($pattern,$matches['1']['0'],$matches2);
print_r($matches2);
?>
|
У меня получилось в два захода | |
|
|
|
|
|
|
|
для: Tonik992
(05.08.2010 в 10:31)
| | Ну, если искать именно в такой строке, и это один список (хотя по имени найти не сложно) то рег. выражений не надо:
<?
$string = '<select class="vi-is1-jsSelect" id="63" name="Waist Size">
<option value="-1">- Select -</option>
<option value="1">28</option>
<option value="2">29</option>
<option value="3">30</option>
<option value="4">36</option>
</select>';
echo htmlspecialchars(rtrim(strstr($string, '<option'), '</select>,</SELECT>'));
|
| |
|
|
|
|
|
|
|
для: Tonik992
(05.08.2010 в 10:31)
| | Большое спасибо за помощь! | |
|
|
|