preg replace

Тема в разделе "PHP", создана пользователем KODEAK, 4 апр 2011.

Модераторы: latteo
  1. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15
    Доброго времени тут накатал небольшой скрипт по замене для тегов
    PHP:
    // Smile replace function
    function smileBB($input)
    {
        
    $input strip_tags($input);
        
    $input htmlentities($input);
        
        
    $search = array(
                        
    '/\[b\](.?*)\[\/b\]/is',
                        
    '/\[i\](.?*)\[\/i\]/is'
                        
    );
        
    $replace = array(
                        
    '<b>$1</b>',
                        
    '<i>$1</i>'
                        
    );
        
        return 
    preg_replace($search,$replace,$input);

    }

    $a '[b]da[/b]';

    echo 
    smileBB($a);
    Но у меня почему то выдает ошибку,
    в чем косяк ? вроде все верно
     
  2. sam3000

    sam3000 Создатель

    Регистр.:
    2 окт 2007
    Сообщения:
    13
    Симпатии:
    1
    На всякий, пхп какой? Может бажный (бывает такое).
    (смог поставить движок после обновления пхп 5.1.6 на 5.2.17)
    Судя по http://php.net/manual/en/function.preg-replace.php
    Кусок правильный:
    PHP:
        $search = array(
                        
    '/\[b\](.?*)\[\/b\]/is',
                        
    '/\[i\](.?*)\[\/i\]/is'
                        
    );
        
    $replace = array(
                        
    '<b>$1</b>',
                        
    '<i>$1</i>'
                        
    );
        return 
    preg_replace($search,$replace,$input);
    Посмотри на сайте php, какие символы заменяют функции strip_tags и htmlentities. Попробуй без них для начала.

    А что в итоге выдаёт текущий скрипт? Или просто не работает? (лень проверять)
     
  3. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    звездочку со знаком вопроса местами поменяй
    PHP:
    '/\[b\](.*?)\[\/b\]/is',
    '/\[i\](.*?)\[\/i\]/is'
     
    KODEAK нравится это.
  4. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15
    sam3000 - выдавал ошибку.
     
  5. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15
    что бы не создавать новую тему спрошу тут же что лучше использовать в качестве bb тегов ?
    html - типа <strong> или ? и что лучше будет восприниматься базой ?
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    да одинаково будет восприниматься разницы никакой ИМХО