Autor Zpráva
Karlik1985
Profil *
do rubriky jak na to asi moc fundovanych nechodi :) zeptam se vas...

mam v promenne url natehlej zrojak html stranky a potrebuju ho prepsat pouze telem teto stranky, cili tim co je mezi tagama body...

$maska = '/.*<body(>| [^>]*>)(.*)</body>.*/i';
$url = preg_replace($maska, '2', $url);

zkousel sem to ruzne promenit, vypnout zravost kvantifikatoru, ale proste nic... zacinam byt zoufaly :)

diky
Karlik1985
Profil *
forum zase sezralo zpetny lomitka, takze pred /body je jedno a jedno je taky pred 2 v tom replacu...
DJ Miky
Profil
Jestli ti to v předchozím tématu nepomohlo, tak to zkus nějak takto:

$html=preg_replace('@^(.*)<body([^>]*)>(.*)</body>(.*)@i','$3',$html);


Mohlo by to fungovat, tento kód:

<html><body id="telo">obsah dokumentu</body></html>

se změnil na:

obsah dokumentu
Karlik1985
Profil *
diky, ale sem z toho zmatenej... na takovejhle jednoduchej kod jakej si tady uvedl, funguje i to moje puvodni, ale jak to aplikuju na nejakou rozsahlesi stranku, tak mi to vypise celej zdroj (cili zadna schoda, nic se nenahradi)

schvlane si to zkus... narvi si tam jakoukoliv stranku a sleduj zdroj pak...

$url = '';

$fd = fopen('http://www.firmy.cz/phr/index.php', 'r');
while (!feof($fd)) {
$url .= fgets($fd);
}
fclose($fd);

$url = preg_replace('@^(.*)<body([^>]*)>(.*)</body>(.*)@i', '$3', $url);

echo $url;
Karlik1985
Profil *
nebo prehledneji nakonci: echo "<xmp>".$url."</xmp>";
Karlik1985
Profil *
Aha!!! uz to mam... napadlo me to pri tom kdyz sem premyslel proc to zvlada ty jednoduchy veci a ty delsi ne... proste si to nerozumi s nekteryma bilyma znakama... ale chtelo by to zjistit s jakyma... novej radek ani tabulator to neni, to sem zkousel. jakmile sem z toho prvne odstranil vsechny bily znaky, tak to zacalo fungovat, ale nasmeroval si me, diky :))

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