Autor Zpráva
Mufna
Profil
Zdravím Vás. Jak mám (nějak šikovně) získat z následujícího HTML kódu

<p class="na-image"><img src="/imgs/foto-ruzne/motiv01.jpg" width="183" height="138" alt="" title=""></p>


pouze cestu k obrázku, tj. řetězec
/imgs/foto-ruzne/motiv01.jpg
Anonym
Profil *
function vyber_mezi($str, $left, $right)
    {
    $str = substr(stristr($str, $left), strlen($left));
    $leftLen = strlen(stristr($str, $right));
    $leftLen = $leftLen ? -($leftLen) : strlen($str);
    $str = substr($str, 0, $leftLen);
    return $str;
    }

$retezec = '<p class="na-image"><img src="/imgs/foto-ruzne/motiv01.jpg" width="183" height="138" alt="" title=""></p>';
echo vyber_mezi($retezec, '<img src="', '"');


vypíše to co je mezi <img src=" a "

pokus na to existuje přímo nějaká php fce, tak bych ji taky rád věděl - díky
Anonym
Profil *
oprava: pokud na to existuje přímo nějaká php fce, tak bych ji taky rád věděl - díky
Alphard
Profil
Anonym:
Znáte regulární výrazy? Viz třeba preg_match()
Anonym
Profil *
Alphard: trochu jsem se na to díval - líbí se mi hlavně to preg_match_all , ale nedaří se mi vždy dobře sestavit ty regulární výrazy - je to na mě asi moc - existuje nějaký univerzální příklad pro tento případ - hledání mezi dvěmi řetězci? Něco jako

$vyraz=??? $retezec1 ??? $retezec2;
preg_match_all($vyraz , $data , $vystup);
Mufna
Profil
Anonym

Díky, funguje to
Alphard
Profil
preg_match_all('~src="(.*)"~iU', $in, $out);
print_r($out);

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