[php:1:3936cfb2d1]<?php
function code($tekst)
{
$tekst=nl2br($tekst);
$tekst=preg_replace_callback("!([kod])(<br />rn*)(.+)[/kod]!Us", "znacznik_kod", $tekst);
$tekst=preg_replace_callback("!(
!Us", "znacznik_php", $tekst);
<?php )(.+) ?>
$tekst=preg_replace_callback('!]*)](.*)!Us','znacznik_url', $tekst);
$tekst=preg_replace_callback('!(.*)!Us','znacznik_url', $tekst);
$tekst=preg_replace_callback('![img=([^]]*)]!Us','znacznik_img', $tekst);
$tekst=znacznik_cytuj($tekst);
$tekst=style($tekst);
$tekst=emotikony($tekst);
return $tekst;
}
?>[/php:1:3936cfb2d1]
Wszystko działa ok jeśli w stringu $tekst jest maksymalnie tylko jeden znacznik otwierający i zamykający każdego typu.
Jeśli zrobie np 2 razy
Kod
[kod]123[/kod]snfhsgdkfjs[kod]345[/kod]
to już się wykrzacza i zamienia tylko pierwsze wystąpienie ciągu