Afisare 1 link dar pe sarite !

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 :slight_smile:

$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];
3 Likes

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

.

1 Like

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];

http://php.net/manual/ro/function.count.php

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

4 Likes

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. :sweat_smile:

4 Likes

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 :slight_smile: , 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.

2 Likes

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 !

1 Like

Am folosit, a functionat ! Mersi de ajutor ! :smiley:

1 Like

Ma bucur !
Marcheaza raspunsul care te-a ajutat ca solutie. Poate au si altii aceeasi problema !

1 Like

Este marcat :stuck_out_tongue: !