как в форумах бывает [ b][ /b] преобразуется в <b></b>, это не трудно. но вот как преобразовывать [xfields_(blabla)]? заранее всем спасибо.
PHP: <?php // Размер шрифта private function bbcode_text_size($text) { $p[] = '#\[size=(5|6|7|8|9|10|11|12|14|16|18|20|22|24|26|28|30)\](.*?)\[/size\]#si'; $r[] = '<span style="font-size:${1}px;">${2}</span>'; $text = preg_replace($p, $r, $text); return $text; } // Форматирования текста private function bbcode_text_formatting($text) { $p[] = '#\[b\](.*?)\[/b\]#si'; $r[] = '<strong>${1}</strong>'; // Выделяет текст жирным шрифтом $p[] = '#\[u\](.*?)\[/u\]#si'; $r[] = '<u>${1}</u>'; // Выделяет текст подчеркнутым $p[] = '#\[i\](.*?)\[/i\]#si'; $r[] = '<i>${1}</i>'; // Выделяет текст курсивом $p[] = '#\[del\](.*?)\[/del\]#si'; $r[] = '<del>${1}</del>'; // Отображает текст перечёркнутым $p[] = '#\[big\](.*?)\[/big\]#si'; $r[] = '<big>${1}</big>'; // Отображает текст увеличенным шрифтом $p[] = '#\[small\](.*?)\[/small\]#si'; $r[] = '<small>${1}</small>'; // Отображает текст уменьшенным шрифтом $p[] = '#\[samp\](.*?)\[/samp\]#si'; $r[] = '<samp>${1}</samp>'; // Образец. Отображает текст моноширинным шрифтом $p[] = '#\[cite\](.*?)\[/cite\]#si'; $r[] = '<cite>${1}</cite>'; // Оформляет текст как цитату или ссылку на источник $p[] = '#\[sub\](.*?)\[/sub\]#si'; $r[] = '<sub>${1}</sub>'; // Отображает текст со сдвигом вниз (нижний индекс) $p[] = '#\[sup\](.*?)\[/sup\]#si'; $r[] = '<sup>${1}</sup>'; // Отображает текст со сдвигом вверх (верхний индекс) $p[] = '#\[abbr=(.*?)\](.*?)\[/abbr\]#si'; $r[] = '<abbr title="${1}">${2}</abbr>'; // Аббревиатура $text = preg_replace($p, $r, $text); return $text; } оно?
в cms - сах есть xfields (думаю понятно). далее если в шаблоне хочешь xfields использовать то с начало определяешь xfield name потом пишешь на пр. {xfields_icq} или {xfields_yourschool}. теперь надо преобразовывать {xfields_(xfield name)} в xfield name чтобы искать её в бд (если существует) и вставит туда куда надо.