Autor Zpráva
slap
Profil *
Zdravím,

chci se zeptat jestli by někdo nevěděl jak pomocí preg_match_all nebo jinak vytáhnout pouze takhle tvarovaný odkaz s obrázkem. Já osobně jsem se dopracoval jen k obrázku. Děkuju všem za pomocné rady nebo dokonce i nějaké řešení

<a href="neco.html" target="_blank"><img src="nahled.jpg" border=0 alt="obrázek"></a>
ShiraNai7
Profil
Zalezi na tom, co potrebujes vytahnout.
slap
Profil *
přesně to co jsem uvedl: <a href="neco.html" target="_blank"><img src="nahled.jpg" border=0 alt="obrázek"></a>
ShiraNai7
Profil
Napr:
<a href="([^"]+)"[^>]*>\s*<img src="([^"]+)"[^>]*>\s*</a>
slap
Profil *
Omlouvám se - přesný tva je:

<a href="fotka.php?id=2&tab=0" target="_blank"><img src="http://i.example.cz/s/bc/1/09/11/a245.jpg" border=0 vspace=2 alt="Obrázek"></a>
ShiraNai7
Profil
slap:
Regular co jsem uvedl funguje i na tohle. Akorat je podminka, ze atribut href a pak src musi byt v tagu prvni, coz by slo osetrit kdyby to byl problem.
slap
Profil *
ShiraNai7:
preg_match_all('<a href="([^"]+)"[^>]*>\s*<img src="([^"]+)"[^>]*>\s*</a>',$site_vystup[0], $result); 
print_r($result);
Tohle nefunguje :-( Hledal jsem dlouhoo na internetu a všude je jen bud samotný obrázek nebo odkaz. Zkoušel jsem experimentovat s maximálním usílím na nulové výsledky.
ShiraNai7
Profil
slap:
Chybi ti delimitery v regularu:

preg_match_all('~<a href="([^"]+)"[^>]*>\s*<img src="([^"]+)"[^>]*>\s*</a>~mi',$site_vystup[0], $result); 

edit: oprava :)
slap
Profil *
Sakra to bylo rychlí a pěkně funkční. Moc děkuju. Můžu se ještě zeptat jak odstraním značky pole
Array
(
    [0] => Array
        (
            [0] => 
ShiraNai7
Profil
slap:
Můžu se ještě zeptat jak odstraním značky pole

To nevím, co znamená.
preg_match_all('~<a href="([^"]+)"[^>]*>\s*<img src="([^"]+)"[^>]*>\s*</a>~mi', $code, $matches, PREG_SET_ORDER); 

foreach($matches as $match) {
  echo "href = ".$match[1]."<br />\n";
  echo "src = ".$match[2]."<br /><hr />\n";
}

?
slap
Profil *
Děkuju líp by jsem si to ani nedokázal představit.


Můžu mít vážně poslední a nejspíš drzí a nevděčná dotaz? Myslel jsem si, že pod $match[3] nahdu alt="meco" Vážně je to krása, ale chci se zeptat pod řím najdu alt. Moc se Vám omlouvám za takové dotazy, ale s php začínám jak tušíte a vše je pro mě říše divů

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0