| 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: 12 let
|
|||
0