QARK.net — Jak přeložit PHP kód v řetězci
Jak přeložit PHP kód v řetězci

Jak přeložit PHP kód v řetězci

Pokud jste někdy přemýšleli jak vybrat texty z databáze a potom v nich provést PHP kód, tak mám pro vás malou ukázku.

Určitě jste si všimli, že existuje funkce eval();, která provede PHP kód podle řetězce… tak od toho je jen malý krůček k vytvoření vlastní funkce, která vám přeloží PHP kód, uzavřený ve značce <php></php>

<?php
function provedcode($pole)
{
    eval("\$pole[2] = $pole[2];");
    return $pole[2];
}
 
$retezec = "Dnes je: <php>date('d. m. Y');</php>";
 
echo preg_replace_callback("/(<php>)(.*?)(<\/php>)/si", 
                           "provedcode", $retezec);
?>


Funkce provedcode(); provede PHP kód a vrátí jeho výstup.

Kliknutím na PHP funkce, tak se dostanete na stránky s PHP manuálem, kde jsou jednotlivé funkce podrobně vysvětleny.

Qark | 12. 11. 2004 21:28 | Komentáře: 3 | ::Programování


Přidat článek do: [ linkuj.cz], [ jagg.cz], [ asdf.sk], [ del.icio.us]

Stáhnout článek jako [ PDF]
[ RSS komentářů] k článku

Články a fotografie z tohoto webu je zakázáno kopírovat a přidávat si je na svoje blogy, či kamkoliv jinam, bez mého písemného souhlasu!

Komentáře


1
tark 12. 11. 2005 00:05

Nefunguje, když udělám víc <php></php>

$retezec = "Dnes je: <php> date('d. m. Y');</php> a <php>date();</php>";

mi vyhodí tohle:

Parse error: syntax error, unexpected '<' in S:\dev\prog\template\index.php(5) : eval()'d code on line 1
Dnes je: date('d. m. Y'); a date();


Bohužel :-( Vypadalo to dobře… ;-)

Reakce na komentář: Qark #2Načítám náhled komentáře...

2
Qark url 12. 11. 2005 10:49

Reakce na tark #1Načítám náhled komentáře...: Díky za info, přebývalo mi tam jedno zpětné lomítko a chyběl otazník. Už je to opraveno. Každopádně funkci date(); nemůžeš napsat bez parametru, který udává formát datumu.


3
angel333 30. 11. 2006 11:34

diky moc… btw, jakej pouzivas render, ze ti to dava do php kodu ty odkazy?



Komentování bylo ukončeno. Již nelze přidávat žádné další komentáře.