Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Проблемы с preg_replace (http://www.flasher.ru/forum/showthread.php?t=109727)

igor82 19.03.2008 18:50

Проблемы с preg_replace
 
Друзья у меня проблема с функцией preg_replace. она корректно отрабатывает на моем локальном сервере (win+apache+php 5.2.0), но при загрузке скрипта на сервер хостера (unix+apache+5.2.0) отказывается работать с русскими символами, в то время как с английскими работает корректно. Локаль выставляю:

Код:

setlocale(LC_CTYPE, array('ru_RU.CP1251', 'Russian_Russia.1251'));
Задача у меня следующая. Есть две строки:
1) просто список слов через пробел
2) Текст статьи.

Вот мне нужно все вхождения каждого слова из первой строки выделить жирным во второй.

Для этого я юзаю вот эту функцию (как говорилось выше она некорректно работает на сервере хостера, не видит русских букв)
Может у кого есть готовое более надежное решение?:

Код:

function Highlight($whereText, $whatText)
{


        $highlightWords = $highlightWordsRepl = array();

        $highlightWordsT = $whatText;


        foreach ( $highlightWordsT as $k => $v )
                if ( !$v )
                {
                        $highlightWords[]  = "#\b($k)\b#isU";

                }
                else
                        foreach ( $v as $v1 )
                        {
                                $highlightWords[]  = "#\b($v1)\b#isU";
                        }


    return  preg_replace(array_reverse($highlightWords), '<b>$1</b>', $whereText);
}


Заранее всем спасибо!


Часовой пояс GMT +4, время: 10:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.