Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: на локалке все нормально работает, на сервере перестает работать замена русских слов
 
 автор: dirol   (09.06.2008 в 18:14)   письмо автору
 
 

на локалке все нормально работает на сервере перестает работать замена руских слов

<?php
$txt = "<<<TXT
текст test слово много слов TXT test";
echo preg_replace(array('#\bслов\b#i', '#\bmedium\b#i', '#\bhight\b#i'),array('низкое', 'среднее', 'высокое'), $txt);
?>

если слово английское то все ок

   
 
 автор: dirol   (09.06.2008 в 18:40)   письмо автору
 
   для: dirol   (09.06.2008 в 18:14)
 

самый просто пример
echo preg_replace('/\\bгулять\\b/i', 'на улицу', 'Я пошёл гулять');
слово гулять должно было заменится на улицу не меняется

   
 
 автор: Ralph   (09.06.2008 в 19:42)   письмо автору
 
   для: dirol   (09.06.2008 в 18:40)
 

А что вы хотели сказать этим \\b ?

   
 
 автор: Trianon   (09.06.2008 в 20:28)   письмо автору
 
   для: Ralph   (09.06.2008 в 19:42)
 

\b в регулярках означает границу слова.

   
 
 автор: cheops   (09.06.2008 в 19:53)   письмо автору
 
   для: dirol   (09.06.2008 в 18:14)
 

Попробуйте выставить локаль, как это указано в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=6084.

   
 
 автор: dirol   (09.06.2008 в 20:21)   письмо автору
 
   для: cheops   (09.06.2008 в 19:53)
 

пробывал не помогает

   
 
 автор: cheops   (09.06.2008 в 20:29)   письмо автору
 
   для: dirol   (09.06.2008 в 20:21)
 

Дело происходит на вашем личном сервере или на сервере хост-провайдера?

   
 
 автор: dirol   (09.06.2008 в 20:29)   письмо автору
 
   для: cheops   (09.06.2008 в 20:29)
 

наш личный

   
 
 автор: cheops   (09.06.2008 в 20:31)   письмо автору
 
   для: dirol   (09.06.2008 в 20:29)
 

Какая операционная система на нём стоит?

   
 
 автор: dirol   (09.06.2008 в 20:32)   письмо автору
 
   для: cheops   (09.06.2008 в 20:31)
 

linux только честно не знаю какой

   
 
 автор: dirol   (09.06.2008 в 20:39)   письмо автору
 
   для: dirol   (09.06.2008 в 20:32)
 

причем если так делать
echo preg_replace('/гулять/i', 'на улицу', 'Я пошёл гулять');

то все ок меняется но надо чтоб слова целиком менялись
без \b ни как . а с ней не хочет менять русские слова

   
 
 автор: cheops   (09.06.2008 в 20:52)   письмо автору
 
   для: dirol   (09.06.2008 в 20:39)
 

Если одинарные кавычки заменить двойными - всё тоже самое остаётся?

   
 
 автор: dirol   (09.06.2008 в 21:02)   письмо автору
 
   для: cheops   (09.06.2008 в 20:52)
 

>Если одинарные кавычки заменить двойными - всё тоже самое остаётся?

да все тоже самое не меняет и все

   
 
 автор: cheops   (09.06.2008 в 20:53)   письмо автору
 
   для: dirol   (09.06.2008 в 20:32)
 

>linux только честно не знаю какой
Командная строка (SSH) доступна? Если выполнить команду uname -a что выводится?

   
 
 автор: dirol   (09.06.2008 в 21:01)   письмо автору
 
   для: cheops   (09.06.2008 в 20:53)
 

linux debian
Linux islamnews 2.6.18-6-686 #1 SMP Thu May 8 07:34:27 UTC 2008 i686 GNU/Linux

   
 
 автор: cheops   (09.06.2008 в 21:10)   письмо автору
 
   для: dirol   (09.06.2008 в 21:01)
 

Папка /usr/share/i18n/locales существует? И есть там файл с именем ru_RU или чем-то похожим?

   
 
 автор: dirol   (09.06.2008 в 21:19)   письмо автору
 
   для: cheops   (09.06.2008 в 21:10)
 

конечно существует

   
 
 автор: waptanet   (09.06.2008 в 22:46)   письмо автору
 
   для: dirol   (09.06.2008 в 18:14)
 

а может у вас utf ?)
попробуйте поставить модификатор u

   
 
 автор: dirol   (10.06.2008 в 09:30)   письмо автору
 
   для: waptanet   (09.06.2008 в 22:46)
 

куда подставить? подскажите пожалуйста

   
 
 автор: waptanet   (10.06.2008 в 13:42)   письмо автору
 
   для: dirol   (10.06.2008 в 09:30)
 

echo preg_replace('/гулять/iu', 'на улицу', 'Я пошёл гулять');

   
 
 автор: dirol   (10.06.2008 в 23:23)   письмо автору
 
   для: waptanet   (10.06.2008 в 13:42)
 

Warning: preg_replace() [function.preg-replace]: Compilation failed: invalid UTF-8 string at offset 1

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования