ikif
05-12-2009, 02:17
Есть страничка в которой присутствует относительно повторяющийся код :
...................................
<TH class="bidder "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=bidder&dir=asc">ставка</A></TH>
<TH class="bid "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=bid&dir=asc">ставку</A></TH>
<TH class="buy "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=buy&dir=asc">купить</A></TH></TR>
<TR class=row_1>
[color=blue]
<TD><IMG onmouseover="doItem('11','Количество перепродаж: 7<br />Количество: 1<br />ставка: 3911\n Кол ставок: 8\n Шаг ставки: 111\nНачало : 11:28 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_0>0:11:46 </SPAN>
<TD>2345<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=233333">GaD_On_Line</A>
<TD>1234<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_0><A onclick=tradeConfirm(this) href="trade.php?m=bid&id=2332133&bid=23433&k=23445"><IMG class=cmd onmouseover="doImage(this,'buttons/b_trade_bid','skip')" alt=Ставка src="images/buttons/b_trade_bid_p.png"></A></SPAN>
</TD>
<TR class=row_2>
<TD><IMG onmouseover="doItem('34','Количество итем: 2<br />Количество: 1<br />ставка: 5432\n Кол-во ставок: 11\n Шаг ставки: 222\аукциона: 45:46 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_1>0:11:27 </SPAN>
<TD>4532<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=2332432">RedGreenUltras</A>
<TD>1345<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_1><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<TR class=row_1>
<TD><IMG onmouseover="doItem('23','Количество перепродаж: 9<br />Количество: 1<br />Начальная ставка: 4532\n Кол-во ставок: 13\n Шаг ставки: 4433\nНачало аукциона: 11:39 11.12.09\n','','1',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_2>0:17:48 </SPAN>
<TD>3532<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=45322">bos7</A>
<TD>2453<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_2><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<TR class=row_2>
<TD><IMG onmouseover="doItem('23','Количество перепродаж: 2<br />Количество: 1<br />Начальная ставка: 3432\n Кол-во ставок: 14\n Шаг ставки: 222\nНачало аукциона: 11:20 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_3>0:11:58 </SPAN>
<TD>3421<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=2322143">enot_us</A>
<TD>3242<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_3><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<SCRIPT> var timers = new Array();
.....................................
С этого кода надо выцыпить эти повторы поочереди или массивом.
Каждый из повторов я обозначил разным цветом.
Мой экспериментальный код и он не работает :
$nOffset = 2
While 1
$array = StringRegExp($KodHtml, "(?s).*<TD><IMG onmouseover(.*?)></A></SPAN>.*" , 1, $nOffset)
If @error = 0 Then
$nOffset = @extended
Else
;ExitLoop
EndIf
for $i = 0 to UBound($array) - 1
msgbox(0, "RegExp Test with Option 1 - " & $i, $array[$i])
Next
WEnd
Проще говоря , надо получить вначале синий(первый) кусок кода, потом красный, и т.д.
Заранее благодарю.
...................................
<TH class="bidder "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=bidder&dir=asc">ставка</A></TH>
<TH class="bid "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=bid&dir=asc">ставку</A></TH>
<TH class="buy "><A href="?m=now&filter=%CA%EE%E6%E1%E0%F7%E8%F9%E0&order=buy&dir=asc">купить</A></TH></TR>
<TR class=row_1>
[color=blue]
<TD><IMG onmouseover="doItem('11','Количество перепродаж: 7<br />Количество: 1<br />ставка: 3911\n Кол ставок: 8\n Шаг ставки: 111\nНачало : 11:28 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_0>0:11:46 </SPAN>
<TD>2345<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=233333">GaD_On_Line</A>
<TD>1234<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_0><A onclick=tradeConfirm(this) href="trade.php?m=bid&id=2332133&bid=23433&k=23445"><IMG class=cmd onmouseover="doImage(this,'buttons/b_trade_bid','skip')" alt=Ставка src="images/buttons/b_trade_bid_p.png"></A></SPAN>
</TD>
<TR class=row_2>
<TD><IMG onmouseover="doItem('34','Количество итем: 2<br />Количество: 1<br />ставка: 5432\n Кол-во ставок: 11\n Шаг ставки: 222\аукциона: 45:46 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_1>0:11:27 </SPAN>
<TD>4532<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=2332432">RedGreenUltras</A>
<TD>1345<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_1><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<TR class=row_1>
<TD><IMG onmouseover="doItem('23','Количество перепродаж: 9<br />Количество: 1<br />Начальная ставка: 4532\n Кол-во ставок: 13\n Шаг ставки: 4433\nНачало аукциона: 11:39 11.12.09\n','','1',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_2>0:17:48 </SPAN>
<TD>3532<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=45322">bos7</A>
<TD>2453<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_2><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<TR class=row_2>
<TD><IMG onmouseover="doItem('23','Количество перепродаж: 2<br />Количество: 1<br />Начальная ставка: 3432\n Кол-во ставок: 14\n Шаг ставки: 222\nНачало аукциона: 11:20 11.12.09\n','','0',event,this)" alt=Кожбачища src="images/Arm_6s.jpg">
<TD>Инкогнито<BR><SPAN id=timer_3>0:11:58 </SPAN>
<TD>3421<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><A href="player.php?id=2322143">enot_us</A>
<TD>3242<IMG class=png alt=Золото align=absMiddle src="images/ico_gold1.png"><BR><SPAN id=bid_3><IMG class=cmd alt=Ставка src="images/buttons/b_trade_bid_b.png"></SPAN>
<TD>---- </TD>
<SCRIPT> var timers = new Array();
.....................................
С этого кода надо выцыпить эти повторы поочереди или массивом.
Каждый из повторов я обозначил разным цветом.
Мой экспериментальный код и он не работает :
$nOffset = 2
While 1
$array = StringRegExp($KodHtml, "(?s).*<TD><IMG onmouseover(.*?)></A></SPAN>.*" , 1, $nOffset)
If @error = 0 Then
$nOffset = @extended
Else
;ExitLoop
EndIf
for $i = 0 to UBound($array) - 1
msgbox(0, "RegExp Test with Option 1 - " & $i, $array[$i])
Next
WEnd
Проще говоря , надо получить вначале синий(первый) кусок кода, потом красный, и т.д.
Заранее благодарю.