Každopádně to echo do proměnné nepatří. Bohužel zas nejsem takovej machr, abych od pohledu dokázal říct, proč to přes echo vypíše, ale přes proměnou ne.
Jenom takovej nápad, nevim jestli dobrej. Co kdybys v tý funkci parser použil místo proměnné return?
Asi nějak takto:
<?php
function oa_parser(){
$obsah="";
$obsah.="Aktuálně z webu<br>";
function parser($url){
$vyber = file_get_contents($url);
$obsahparser="";
if(!$vyber){
$obsahparser.="Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}
preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);
for($i = 2; $i <= 5; $i++)
{
$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];
$obsahparser.="<li><a href=\"$odkaz\" >".$text."</a></li>";
}
return $obsahparser;
}
$obsah.= parser("http://www.neco.cz",5);
switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}
?>
Jestli správně uvažuju tak funkce parser svým průběhem naplní proměnnou $obsahparser, kterou pak příkazem return vrátí.
Pak když tu funkci tady v té proměnné zavoláš, tak by to mělo tu proměnnou naplnit vysledkem té funkce. $obsah.= parser("http://www.neco.cz",5);
Snad to píšu správně, no, za zkoušku nic nedáš. Když tak mě tu někdo zkušenější opravte.
T. O. Severka Děčín |
New r.č. |
Old Good Tom | Jinak už v tom nefrčím... :-)
Celkem upraveno 3×. Poslední úprava zdenekh v 03.07.2007 10:55.