Tu ai inteles ideea sau nu ? codurile pot fi si nefunctionale… oricum e doar un exemplu… ideea conteaza ! ( dar te asigur ca codul functioneaza)
Secvenţa fiind fara sens, nu am cum sa inteleg ce trebuie sa faca. Explica in cuvintele tale.
EDIT: nu cumva de fapt vrei asta?
$links_array = array();
foreach($html->find('div[class=_Z1m]') as $e)
foreach($e->find('a') as $c)
$links_array[] = $c->href;
Deci codul tau sa zicem
$links_array = array();
foreach($html->find('div[class=_Z1m]') as $e)
foreach($e->find('a') as $c)
$links_array[] = $c->href;
Codu dat de tine, afiseaza 8 link-uri , cum fac eu sa afisez doar 1 link cel cu numarul 3…
Acum ai inteles ?
Vreau sa afisez 1 singur link dar specificat adica link-ul nr x
Deci pana la urma tu vrei ca intr-o bucla sa verifici fiecare link din cele N din lista iar daca pagina din spatele lui se potriveste cu un pattern il afisezi/folosesti (whatever) in context, daca nu treci la urmatorul link. Right?
Colegul @serghei ti-a rezolvat deja problema dar tu chiar vrei mura in gura.
Ai aici exemplul functional.
$html = <<<HTML
<div id="links">
<a href="http://example.org/1?location=london&page_number=1">1</a>
<a href="http://example.org/2?location=london&page_number=1">2</a>
<a href="http://example.org/3?location=london&page_number=1">3</a>
<a href="http://example.org/4?location=london&page_number=1">4</a>
<a href="http://example.org/5?location=london&page_number=1">5</a>
</div>
HTML;
$dom = new DOMDocument();
@$dom->loadHTML($html);
$links = [];
foreach ($dom->getElementsByTagName('a') as $node) {
// http://php.net/manual/ro/function.strtok.php
$links[] = strtok($node->getAttribute('href'), '?');
}
echo $links[2];
Eu as face in felul urmator, imi pare mai simplu.
As aduce toate pozele, pe care le-as pune intr-un array.
Apoi la cautare, cand ai nevoie sa afisezi imaginea, as face o functie care sa imi selecteze din array-ul cu poze imaginea care iti trebuie si o afisezi
.
ce e mai rapid DOMDocument sau simple_html ?
ai putine link uri
nu cred ca reusesti sa iti dai seama
ai idee cum pot afla cate link-uri sau gasit in array ?
$links = [];
foreach ($dom->getElementsByTagName('a') as $node) {
// http://php.net/manual/ro/function.strtok.php
$links[] = strtok($node->getAttribute('href'), '?');
}
echo $links[2];
acum fie vorba între noi, înainte de a posta aici încearcă si tu sa vezi cum ai rezolva problema.
cauta pe Google, citește din manualul php ului etc
Acest comentariu a fost pentru a atrage aprecieri, nu ? Crede-ma ca daca postez aici ceva este dupa cateva ore de munca si de stors creierii … In unele moment pur si simplu ti se pune STOP si chiar daca ai uitat sa pui un punct sau o virgula ti se pare ca nu mai dovedesti sa o scoti la capat si postez pe forum…
Asta pentru ca prima data trebuie sa gandesti algoritmul problemei, dupa care sa cauti exact ce nu stii sa faci, iar abia apoi implementezi ! Tu dai echo in continuu la cod negandit, dupa care te enervezi ca nu merge. In ritmul asta vei iesi la pensie rapid.
in nici un caz nu este pentru a atrage aprecieri. Daca vroiam aprecieri postam ceva mai interesant.
Inainte sa scrii acest comentariu, ai folosit ce ti-am dat ?
A mers?
daca nu, ai incercat sa cauti o alta alta solutie ?
Daca ai momente de blocaj ceea ce este perfect normal pt noi , ridica-te de pe scan si fa alt ceva. Plimba-te, bea o bere, fa orice nu are legatura cu programarea.
Ideea este ca vei lucra intr-o echipa. Daca vei intreba ceva banal ti se va spune sa cauti pe Google
Google a murit ? Este intrebarea pe care mi-o pune seful meu cand il intreb ceva banal
Nu trebuie sa te superi !
Ceilalti membrii au bunavinta sa te ajute.
eventual poti folosi si un ide care te atentioneaza asupra acestor eroroi
Netbeans sau PHPStorm
Cele 2 raspunsuri nu sunt scrise pt a atrage aprecieri !
Am folosit, a functionat ! Mersi de ajutor !
Ma bucur !
Marcheaza raspunsul care te-a ajutat ca solutie. Poate au si altii aceeasi problema !
Este marcat !