Autor Zpráva
kchrz
Profil
Pokoušel jsem se udělat funkci na upravu textu.
vypadá asi takto :

function preloz($s) { $s = nl2br($s); }
a v průběhu zdrojáku si funkci vyvolám : preloz($text);

nicméně nefunguje.

Zkoušel jsem i kombinaci
function preloz($s) { $x = nl2br($s); return $x; }
$text = preloz($text);

ale ani to mi nefunguje.

Kde dělám chybu prosím.
Hugo
Profil
function preloz($s) {
$s = nl2br($s);
return $s;
}


Ta funkce musi tu hodnotu vratit, jinak se zmeny projevi pouze v promenne $s, kterou ovsem mimo funkci nevidis.
kchrz
Profil
Paráda, funguje.
díky moc.
Honza Široký
Profil
a nebo takhle:
function preloz(&$s) {
$s = nl2br($s);
}
ten ampersand znamená, že předáváš proměnnou odkazem a ne hodnotou.
koudi
Profil
Jestli chceš používat tvar preloz(x) místo neco = preloz(x), tak buď musíš funkci zviditelnit tu proměnnou přes global, případně funkci nepředávat hodnotu tý proměnný, ale odkaz na ni - pomocí &.
Hugo
Profil
koudi

Globalni promenne je imho vhodne pouzivat, jen kdyz neni jina moznost. To uz lepsi predavani promenne odkazem, viz. Honza Široký.
koudi
Profil
Hugo
To je pravda, nicméně taky to tak lze. Osobně bych volil ten odkaz. Teď už je kchrzovi, co si vybere.
Hugo
Profil
No, ja osobne bych zvolil klasickou funkci, ktera vraci vysledek pomoci return. Tady v tomto pripade neni duvod k jinemu reseni. Ale to uz neni moje starost ...
koudi
Profil
Hugo
Samozřejmě. Ale kdo chce kam, pomozme mu tam :-)
kchrz
Profil
Děkuji moc všem za rady. Nakonec jsem si vybral funkci s ampersandem. Ušetřím tak pár znaků :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.