Есть некий HTML код, вот его кусок для примера.
Требуется сделать следующее. Найти все "Испорченные предметы" и выделить в массив ссылки на их продажу, т.е. для первого испорченного предмета ссылка имеет вид:
и т.д., всего в примере кода испорченных предметов три как и ссылок.
Написал вот такой вот код (приведенный выше HTML-код сохранен в папке со скриптом в файл код.txt для экпериментов):
В итоге, несмотря на флаг 3 у StringRegExp (возврат всех совпадений) в массив идёт только одно последнее совпадение.
Мне нужны все 3 ссылки в массиве а не одна, подскажите что не так ?
Код:
<td class="sellitem">
<div class="tdtop">
</div>
<table class="iteminfo">
<tr>
<td class="leftpart" valign="top">
<div class="sellimageblock">
<img src=" /image/sword/mzaklep.gif"></div>
<div class="sellbutton15" style="cursor: pointer;" onclick="SalesProd(" http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=mzaklep1254932&numpos=&t=141470390","Заклепки")" ;>
продать</div>
</td>
<td class="rightpart"><b>Заклепки</b>
<font color="red">Цена: 50</font>
Уровень улучш.: 0
Долговечность: 300
Требования:
Масса: 5
Уровень: 10
Используется человеком</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="sellitem">
<div class="tdtop">
</div>
<table class="iteminfo">
<tr>
<td class="leftpart" valign="top">
<div class="sellimageblock">
<img src=" /image/sword/bad_eqp.gif"></div>
<div class="sellbutton">
<a href=" http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=n4255084b_eqp&numpos=&t=141470399">
продать</a></div>
</td>
<td class="rightpart"><b>Испорченный предмет</b>
<font color="red">Цена: 1</font>
Уровень улучш.: 0
Долговечность: 0
Требования:
Масса: 10
Уровень: 0</td>
</tr>
</table>
</td>
</tr>
<tr>
<tr>
<td class="sellitem">
<div class="tdtop">
</div>
<table class="iteminfo">
<tr>
<td class="leftpart" valign="top">
<div class="sellimageblock">
<img src=" /image/sword/bad_eqp.gif"></div>
<div class="sellbutton">
<a href=" http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=n4255084b_eqp&numpos=&t=141470391">
продать</a></div>
</td>
<td class="rightpart"><b>Испорченный предмет</b>
<font color="red">Цена: 1</font>
Уровень улучш.: 0
Долговечность: 0
Требования:
Масса: 10
Уровень: 0</td>
</tr>
</table>
</td>
</tr>
<tr>
<tr>
<td class="sellitem">
<div class="tdtop">
</div>
<table class="iteminfo">
<tr>
<td class="leftpart" valign="top">
<div class="sellimageblock">
<img src=" /image/sword/bad_eqp.gif"></div>
<div class="sellbutton">
<a href=" http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=n4255084b_eqp&numpos=&t=141470392">
продать</a></div>
</td>
<td class="rightpart"><b>Испорченный предмет</b>
<font color="red">Цена: 1</font>
Уровень улучш.: 0
Долговечность: 0
Требования:
Масса: 10
Уровень: 0</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="sellitem">
<div class="tdtop">
</div>
<table class="iteminfo">
<tr>
<td class="leftpart" valign="top">
<div class="sellimageblock">
<img src=" /image/sword/OraculMap.gif"></div>
<div class="sellbutton">
<a href=" http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=OraculMap2254947&numpos=&t=141470390">
продать</a></div>
</td>
<td class="rightpart"><b>Кусочек карты</b>
<font color="red">Цена: 0</font>
Уровень улучш.: 0
Долговечность: 10
Требования:
Масса: 5
Уровень: 3
Выносливость: 4
Поиск сокровища
Используется человеком</td>
</tr>
</table>
</td>
</tr>
Требуется сделать следующее. Найти все "Испорченные предметы" и выделить в массив ссылки на их продажу, т.е. для первого испорченного предмета ссылка имеет вид:
Код:
http://rizing_sun.ru/cgi-bin/srv.exe/buyitem?tmpid=01945946049577723644&action=2&itemf=n4255084b_eqp&numpos=&t=141470399
Написал вот такой вот код (приведенный выше HTML-код сохранен в папке со скриптом в файл код.txt для экпериментов):
Код:
#include <Array.au3>
$sFile1 = FileOpen(@ScriptDir&"\код.txt", 0)
$sHtml1 = FileRead($sFile1)
$isp_predmet = '(?s)(?i).*(http.*b_eqp.*?)">.*Испорченный\sпредмет'
$res_isp_predmet = StringRegExp($sHtml1, $isp_predmet, 3)
_ArrayDisplay($res_isp_predmet)
В итоге, несмотря на флаг 3 у StringRegExp (возврат всех совпадений) в массив идёт только одно последнее совпадение.
Мне нужны все 3 ссылки в массиве а не одна, подскажите что не так ?