Autor Zpráva
Manny
Profil
Ahojte, pokouším se vytvořit systém na vkládání modulů do textu.

mezi značkami modulu je třeba:
perex,2,foto

a kód takto:
function najdimodul($test)
        {
        $reg = "/\[mod\]|\[\/mod\]/";        
        $oriznuti = preg_replace($reg,'',$test[0]);        
        $pole = explode(',',$oriznuti);                
        
        
        $parametry = implode(',',array_diff($pole,array($pole[0])));
        $modul = $pole[0]($parametry);
                
        // $modul = $pole[0]($pole[1],$pole[2]);
        
        
        return $modul;
        }
Modul je předáván do preg_replace_callback. Pokuším se vyřešit situaci, kdy modul (funkce) bude mít více, méně nabo žádné parametry.
Tento zápis s předáním řetězce do $parametry nefunguje, s tím že hlásí, že chybí druhý argument
Zakomentovaný zápis ale funguje.
V čem je problém?
Tori
Profil
takže účelem je zavolat funkci perex s parametry "2" a "foto" a vrátit její výsledek? Jestli ano, koukněte na call_user_func_array.
Manny
Profil
Tori:
Díky za tip.
Zápis $modul = call_user_func_array($pole[0],$parametry); už funguje
Jen ten druhý parametr, který je předáván do linku asi nefunguje jako řetězec.
--
Vyřešeno $fotodir = trim($fotodir,'\'');

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: