NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: PHP Scan

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Loter
Člen
Avatar
Loter:2.1.2017 22:59

Potreboval by som poradiť s jednou vecou. Môj program prechádza stránku a keď nájde odkaz stránku si uloží (ta stŕanka musí mať určitú podstránku). Môj problém je, že sa na stŕanke nachádza tá stránka 2x pod sebou a chcel by som zistiť ako ju uložiť do poľa iba raz. (kontrolovanie poľa nieje riešenie)

Môj kód

foreach($html->find('a[href*="/podstranka/"]') as $a)

Web

<h3><a href="/podstranka/bla/bla/">blabla</a></h3>
                                                        <a href="/podstranka/bla/bla/" class="bla"><img src="/images/icons/lupa.png" alt="" /> <span>detail</span></a>
Odpovědět
2.1.2017 22:59
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:2.1.2017 23:10

Jestli funguje ta věc nahoře, tak tohle by mělo vyfiltrovat všechny duplicity

foreach ( array_unique( $html->find('a[href*="/podstranka/"]' )) as $a )

http://php.net/…y-unique.php

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
2.1.2017 23:10
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Loter:2.1.2017 23:50

Riečenie funguje avšak všimol som si, že sa do poľa dostali aj nejaké nechcené súbory (boli tam už predtým). Obidve začínajú /redir.php?aid= a keď sa ku nim program dostane spadne. Ako sa ich zbavím?

Nahoru Odpovědět
2.1.2017 23:50
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Loter
Člen
Avatar
Loter:2.1.2017 23:59

+všetky hodnoty majú rôzne indexi (nejsú za sebou).... nejaké jednoduché riešenie?

Nahoru Odpovědět
2.1.2017 23:59
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:3.1.2017 0:05

To že se indexy rozházely by ti teoreticky u foreache nemělo vadit, ale pokud ti to nedá spát

foreach ( array_values( array_unique( $html->find( 'a[href*="/podstranka/"]' ))) as $a )

Welcome to php

http://stackoverflow.com/…6963/3972886

Nahoru Odpovědět
3.1.2017 0:05
Neaktivní uživatelský účet
Avatar
Odpovídá na Loter
Neaktivní uživatel:3.1.2017 0:07

Co se týče redir souborů - nevím jak funguje ta metoda find, co to je a kde se to vzalo?

Nahoru Odpovědět
3.1.2017 0:07
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Odpovídá na Neaktivní uživatel
Loter:3.1.2017 0:14

Pri prehľadávaní stránky mám podmienku aby program pridal do poľa všetko kde je /podstranka/ a z nejakého dôvodu mu je jedno či je súbor href*="/podstran­ka/" alebo href="/redir.php?"

Nahoru Odpovědět
3.1.2017 0:14
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:3.1.2017 0:28

Co je v proměnné html za objekt a co má dělat metoda find? Nějaký framework, knihovna, ...?

Nahoru Odpovědět
3.1.2017 0:28
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Nahoru Odpovědět
3.1.2017 0:46
Kto vie dobre programovať, nemusí sa pretvarovať :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.