Эта тема на forum.dklab.ru


Texel: Не коректно работает preg_replace
Вот код




echo setlocale(LC_ALL,'ru_RU.CP1251');

$value = 'вася " vasya';
echo "===".preg_replace('/(&#*\w+)[\x00-\x20]+;/u', "$1;", $value);

echo "<br><br><br>";

echo $string = preg_replace('/(&#x00);*/iu', " ", 'вася vasya');
echo $string = preg_replace('/(&#x00);*/iu', " ", 'vasya');


echo "<br><br><br>".strtolower("ABC_АЁЯаёя")."<br>";
echo strftime ("%A %B %Z")."<br>";


результат + phpinfo() можно посмотреть по адресу http://www.countryrealestate.ru/test7.php

Дело в том что функция preg_replace не находит русские буквы. Хотя локаль настроенна правильно. Но функция preg_replace_callback работает правильно. В чём может быть проблемма и какие ещё настройки пхп нужно подправить?

Причём dbSimple на этом сервере работает нормально
Константин Жинько [tIT]:
А у Вас что, русские буквы везде, как &# прописаны? %
Texel:
Думаю да, это тестовый скрипт который мне дали разработчики hostcms.ru. Для проверки своего сервера на совместимость. Значит у них в таком виде записывается. На что это влияет?
Горбунов Олег:
Видимо, на то, что будучи записаны в такой форме, они являются html-сущностями, а не русскими буквами.

Эта тема на forum.dklab.ru