Autor Zpráva
KubaFibi
Profil
Zdravím, řeším problém. Potřebuji z bb kódu vytvořit funkci. BB-kód je v textu.

BB kód: "/\[[mM][eE][nN][uU]\](.+?)\,(.+?)\[\/[mM][eE][nN][uU]\]/s" např.: [menu]1,5[/menu]
PHP: např.: menu(1,5)

Vymyslel jsem toto a funguje to, ale četl jsem tady, že použití eval() je prasárna, tak nevím co s tím. Pokud by někoho napadlo něco jiného a lepšího, tak to zde prosím napište nebo alespoň napovězte. díky
...
...
$text = "123[menu]1,5[/menu]456";

$bb = "/\[[mM][eE][nN][uU]\](.+?)\,(.+?)\[\/[mM][eE][nN][uU]\]/s";
$code = "echo \"".preg_replace($bb,"\".menu(\\1,\\2).\"",$text)."\";";

eval($code);

...
...
Keeehi
Profil
KubaFibi:
Ano správně, eval nepoužívat. Ale co použít můžeš a měl by si je preg_replace_callback.
KubaFibi
Profil
díky, to jsem potřeboval

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