$pattern = array('#\[b\](.*?)\[/b\]#s', '#\[i\](.*?)\[/i\]#s', '#\[u\](.*?)\[/u\]#s', '#\[url\]([^\[]*?)\[/url\]#e', '#\[url=([^\[]*?)\](.*?)\[/url\]#e', '#\[email\]([^\[]*?)\[/email\]#', '#\[email=([^\[]*?)\](.*?)\[/email\]#', '#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s', '#\[small\](.*?)\[/small\]#s', '#\[big\](.*?)\[/big\]#s', !!!!!!!!! '#\[offtop\](.*?)\[/offtop\]#e'); $replace = array('<strong>$1</strong>', '<em>$1</em>', '<span class="bbu">$1</span>', 'handle_url_tag(\'$1\')', 'handle_url_tag(\'$1\', \'$2\')', '<a href="mailto:$1">$1</a>', '<a href="mailto:$1">$2</a>', '<span style="color: $1">$2</span>', '<small>$1</small>', '<big><big>$1</big></big>', !!!!!!!!! '"<a href=\"java script:insUN2(\'".($id="n".$id)."\')\">[offtop]</a><div id=\'".$id."\' style=\"display: none\">$1</div>"'); !!!!!!!!!$text = preg_replace($pattern, $replace, $text);
!!!!!! - строчки на которые стоит обратить внимание.
при вводе текста($text) вот так
[offtop]1[/offtop]
[offtop]2[/offtop]
[offtop]3[/offtop]
[offtop]4[/offtop]
[offtop]5[/offtop]
после обработки получаю:
[offtop]
[offtop]
[offtop]
[offtop]
[offtop]
html:
<p><a href="java script:insUN2('nof97')">[offtop]</a><div id='nof97' style="display: none">1</div><br /><a href="java script:insUN2('nnof97')">[offtop]</a><div id='nnof97' style="display: none">2</div><br /><a href="java script:insUN2('nnnof97')">[offtop]</a><div id='nnnof97' style="display: none">3</div><br /><a href="java script:insUN2('nnnnof97')">[offtop]</a><div id='nnnnof97' style="display: none">4</div><br /><a href="java script:insUN2('nnnnnof97')">[offtop]</a><div id='nnnnnof97' style="display: none">5</div></p>
Вопрос: что не так?
PS: javascript - слитно написанно просто тут баг какой-то.