function bbcode($text){ //$text = preg_replace('\[form](.*?)\[/form]', ''.showForm('1').'', $text); ( '|\[b\](.*?)\[/b\]|i', '|\[i\](.*?)\[/i\]|i', '|\[u\](.*?)\[/u\]|i', '|\[color=([a-z]+)\](.*?)\[/color\]|i', '|\[size=([0-9]+)\](.*?)\[/size\]|i', '|\[url=(http://)?(.+?)\](.*?)\[/url\]|i', '|\[form\]([0-9])\[/form\]|i' ); ( '<span style="font-weight: bold;">\1</span>', '<span style="font-style: italic;">\1</span>', '<span style="text-decoration: underline;">\1</span>', '<span style="color: \1;">\2</span>', '<span style="font-size: \1px;">\2</span>', '<a href="http://\2">\3</a>', showForm('\1') ); return $text; }
Przy użyciu znacznika [form]2[/form] (2 pomiędzy znacznikami form to parametr $id funkcji showForm), funkcja showForm nie działa poprawnie, ponieważ $id wynosi \1, a powinno być 2.
Nie wiem jak rozwiązać ten problem, może ma ktoś jakąś propozycję?