Autor Zpráva
Luky
Profil
Prosím o radu zkušenějších. Nedokážu si poradit s tím, jak z toho dostat zvlášť text a zvlášť cestu k obrázku.

<![CDATA[
<img src="http://media.novinky.cz/469/284693-nextstory1-mpqdt.jpg"/>Sofistikovanému kybernetickému útoku čelilo minulý týden hned několik vládních institucí. Špionážní software nazývaný MiniDuke byl odhalen bezpečnostními experty antivirové společnosti Kaspersky Lab v České republice, Belgii, Portugalsku, Rumunsku, Irsku, USA a na Ukrajině.
]]>

Děkuji za každou radu.

Moderátor jenikkozak: Titulek „Regulární výrazy“ byl příliš obecný. Příště zkus prosím vymyslet lepší.
Jan Tvrdík
Profil
Luky:
Nastuduj si, jak se používám DOMDocument. Regulární výrazy nejsou na zpracování HTML ve většině případů vhodné.
Luky
Profil
Jan Tvrdík:
ok ok, díky. Já bych ale přesto chtěl vidět, jak by se to udělalo přes regulární výrazy. Ani netuším jak se Přes DOM zbavit
<![CDATA[]]> 
Giga
Profil
ja si nie som istý, ale nepomohlo by strpos ?
donny
Profil
Giga:
ja si nie som istý, ale nepomohlo by strpos ?
Teoreticky by to išlo, ale je to zbytočne zložité

Luky:
jak by se to udělalo přes regulární výrazy
$subject = '<![CDATA[
<img src="http://media.novinky.cz/469/284693-nextstory1-mpqdt.jpg"/>Sofistikovanému kybernetickému útoku čelilo minulý týden hned několik vládních institucí. Špionážní software nazývaný MiniDuke byl odhalen bezpečnostními experty antivirové společnosti Kaspersky Lab v České republice, Belgii, Portugalsku, Rumunsku, Irsku, USA a na Ukrajině.
]]>';
$pattern =  '/<img[^>]*'.'src=[\"|\'](.*)[\"|\']/Ui';
preg_match($pattern, $subject, $matches);
print_r($matches);

ok ok, díky. Já bych ale přesto chtěl vidět, jak by se to udělalo přes regulární výrazy. Ani netuším jak se Přes DOM zbavit
<![CDATA[]]>

substr?

<?
$subject = '<![CDATA[<img src="http://media.novinky.cz/469/284693-nextstory1-mpqdt.jpg"/>Sofistikovanému kybernetickému útoku čelilo minulý týden hned několik vládních institucí. Špionážní software nazývaný MiniDuke byl odhalen bezpečnostními experty antivirové společnosti Kaspersky Lab v České republice, Belgii, Portugalsku, Rumunsku, Irsku, USA a na Ukrajině.]]>';
$html = substr($subject, 9); //vyhod prvych 9 znakov
$doc = new DOMDocument();
$doc->loadHTML($html);
$imageTags = $doc->getElementsByTagName('img');

foreach($imageTags as $tag) {
    echo $tag->getAttribute('src');
}
Luky
Profil
donny:
Díky, funguje to krásně ;)

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: