За последние 24 часа нас посетили 17038 программистов и 1835 роботов. Сейчас ищут 1653 программиста ...

Регистронезависимая подсветка слов (preg_replaсе)

Тема в разделе "Регулярные выражения", создана пользователем meta-com, 13 мар 2010.

  1. meta-com

    meta-com Активный пользователь

    С нами с:
    13 мар 2010
    Сообщения:
    6
    Симпатии:
    0
    Делаю подсветку ключевых слов, в результатах поиска по базе.

    Код (Text):
    1.  
    2. $string= "Для достижения желаемого результата, нам необходимо убедиться в выполнении следующих условий";
    3. $key1= "Для|достижения|желаемого|результата";
    4. $key2= "для|достижения|желаемого|результата";
    5.  
    6. $result1= preg_replace("/($key1)/i","<b>\\1</b>",$string);
    7. $result2= preg_replace("/($key2)/i","<b>\\1</b>",$string);
    Вывод $result1:
    Вывод $result2:
    т.е. если ключевое слово (в данном случе это слово "для") набрано в другом регистре, то замена не срабатывает!, подскажите в чем грабли?
     
  2. Щербаков Олег

    Щербаков Олег Активный пользователь

    С нами с:
    30 ноя 2008
    Сообщения:
    19
    Симпатии:
    0
    попробуй сделать так
    PHP:
    1. $result1= preg_replace("/($key1)/i[b]u[/b]","<b>\\1</b>",$string);
     
  3. meta-com

    meta-com Активный пользователь

    С нами с:
    13 мар 2010
    Сообщения:
    6
    Симпатии:
    0
    так я тоже пробовал, видимо локаль на хостинге глючит, никак не выставить, все варианты перебрал, в итоге сделал на mb_eregi_replace