За последние 24 часа нас посетил 18901 программист и 1626 роботов. Сейчас ищут 886 программистов ...

помогите преобразовывать

Тема в разделе "PHP для новичков", создана пользователем sey, 16 дек 2008.

  1. sey

    sey Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    как в форумах бывает [ b][ /b] преобразуется в <b></b>, это не трудно. но вот как преобразовывать [xfields_(blabla)]? заранее всем спасибо.
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    PHP:
    1. <?php
    2. // Размер шрифта
    3.     private function bbcode_text_size($text)
    4.     {
    5.         $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>';
    6.  
    7.         $text = preg_replace($p, $r, $text);
    8.  
    9.         return $text;
    10.     }
    11.  
    12.  
    13.     // Форматирования текста
    14.     private function bbcode_text_formatting($text)
    15.     {
    16.         $p[] = '#\[b\](.*?)\[/b\]#si'; $r[] = '<strong>${1}</strong>'; // Выделяет текст жирным шрифтом
    17.         $p[] = '#\[u\](.*?)\[/u\]#si'; $r[] = '<u>${1}</u>'; // Выделяет текст подчеркнутым
    18.         $p[] = '#\[i\](.*?)\[/i\]#si'; $r[] = '<i>${1}</i>'; // Выделяет текст курсивом
    19.         $p[] = '#\[del\](.*?)\[/del\]#si'; $r[] = '<del>${1}</del>'; // Отображает текст перечёркнутым
    20.  
    21.         $p[] = '#\[big\](.*?)\[/big\]#si'; $r[] = '<big>${1}</big>'; // Отображает текст увеличенным шрифтом
    22.         $p[] = '#\[small\](.*?)\[/small\]#si'; $r[] = '<small>${1}</small>'; // Отображает текст уменьшенным шрифтом
    23.  
    24.         $p[] = '#\[samp\](.*?)\[/samp\]#si'; $r[] = '<samp>${1}</samp>'; // Образец. Отображает текст моноширинным шрифтом
    25.         $p[] = '#\[cite\](.*?)\[/cite\]#si'; $r[] = '<cite>${1}</cite>'; // Оформляет текст как цитату или ссылку на источник
    26.  
    27.         $p[] = '#\[sub\](.*?)\[/sub\]#si'; $r[] = '<sub>${1}</sub>'; // Отображает текст со сдвигом вниз (нижний индекс)
    28.         $p[] = '#\[sup\](.*?)\[/sup\]#si'; $r[] = '<sup>${1}</sup>'; // Отображает текст со сдвигом вверх (верхний индекс)
    29.  
    30.         $p[] = '#\[abbr=(.*?)\](.*?)\[/abbr\]#si'; $r[] = '<abbr title="${1}">${2}</abbr>'; // Аббревиатура
    31.  
    32.         $text = preg_replace($p, $r, $text);
    33.  
    34.         return $text;
    35.     }
    оно?
     
  3. sey

    sey Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    или я должен изучать синтаксис preg_replace или если можно объясните, пожалуйста.
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Вопрос корректно сформулируйте, что на что заменить?!
     
  5. sey

    sey Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    в cms - сах есть xfields (думаю понятно). далее если в шаблоне хочешь xfields использовать то с начало определяешь xfield name потом пишешь на пр. {xfields_icq} или {xfields_yourschool}. теперь надо преобразовывать {xfields_(xfield name)} в xfield name чтобы искать её в бд (если существует) и вставит туда куда надо.
     
  6. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ну ну, а у меня есть preprosupermegashtyka (думаю понятно).
     
  7. sey

    sey Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    я не заметил что вы соАдмин
     
  8. sey

    sey Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    Hight help! help! help!
     
  9. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    sey
    Hight дал понять, что нужно обратиться к создателям CMS.