Autor | Zpráva | ||
---|---|---|---|
moldow Profil * |
#1 · Zasláno: 27. 3. 2014, 11:01:23
Zdravim, viem ze prvy riadok z tohoto zapisu je nespravny, ale ako ho mam zapisat tak, aby to fungovalo?
foreach($html->find('a') as $e) and ($html->find('td') as $ef) echo '<a href=http://domena.com/' . $e->href . '>' . $ef->innertext .'</a><br>'; Dakujem. |
||
Tori Profil |
Chcete paralelně procházet dvě různá pole?
|
||
moldow Profil * |
#3 · Zasláno: 27. 3. 2014, 11:07:18
ano
|
||
Tori Profil |
Šlo by to přes pomocné proměnné:
$odkazy = $html->find('a'); $bunky = $html->find('td'); for ($i = 0, $cnt = min(count($odkazy), count($bunky)); $i < $cnt; $i++) { echo '<a href="http://domena.com' . $odkazy[$i]->href . '>' . $bunky[$i]->innertext . '</a><br>'; } Případně, kdyby metoda find vracela přímo řetězce, tak se dá použít i něco takového: foreach (array_combine($html->find('a:href'), $html->find('td:innertext')) as $url => $td) { .... } |
||
moldow Profil * |
#5 · Zasláno: 27. 3. 2014, 11:46:46
Dakujem. Pracuje to ale nie este dobre. URL adresy nie celkom dobre sedia http://forum.abipbox.com/test.php
Tu je cely kod: include('simple_html_dom.php'); $html = file_get_html('http://update.prismcube.com/rubyFirmware.html?idx=1'); $odkazy = $html->find('a'); $bunky = $html->find('.image'); for ($i = 0, $cnt = min(count($odkazy), count($bunky)); $i < $cnt; $i++) { echo '<a href="http://update.prismcube.com/' . $odkazy[$i]->href . '">' . $bunky[$i]->innertext . '</a><br>'; } |
||
1Pupik1989 Profil |
Tori:
Jestli je to Simple HTML DOM, tak find vrací vždy pole, pokud není zadaný index v druhém parametru. Čili první příklad bude asi nejlepší. moldow: To je zbytečně složité, ne? Vždyť "td.image" obsahuje ten tag "a". <?php include('simple_html_dom.php'); $html = file_get_html('http://update.prismcube.com/rubyFirmware.html?idx=1'); $odkazy = $html->find('.image a'); for ($i = 0, $cnt = count($odkazy); $i < $cnt; $i++) { $odkaz = $odkazy[$i]; echo '<a href="http://update.prismcube.com/' . $odkaz->href . '">' . $odkaz->innertext . '</a><br>'; } ?> Nesedí to, protože elementů "a" je na stránce o 1 více, než "td.image". //edit: Oprava selektoru 'a' za '.image a'. |
||
moldow Profil * |
#7 · Zasláno: 27. 3. 2014, 12:17:03
Funguje vyborne: http://forum.abipbox.com/test.php
Dakujem. |
||
moldow Profil * |
#8 · Zasláno: 27. 3. 2014, 13:59:08
Mam
|
||
Časová prodleva: 11 let
|
0