[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с кодировкой в preg_replace mb_strtolower
El` Mor
Доброго времени суток!

Так вот - проблема в том, что у меня странно работают функции ПХП с кодировкой утф...

Вот код:


<?php
$string = 'Ввысы вываыва прывав';

$up1 = '#([А-ЯЁ]?[а-яё]+)? ([А-ЯЁ]?[а-яё]+)?#ue';

preg_match($up1, $string, $out);

var_dump($out);

$reset1 = ' mb_strtoupper("\\1") ';
$reset2 = ' mb_strtolower("\\2") ';
?>
<hr>
<?php
var_dump(preg_replace($up1, $reset1, $string) );
?>
<hr>
<?php
var_dump(preg_replace($up1, $reset2, $string));
?>


Специально разбита полосками для удобства просмотра
Вывод дает:

Цитата

array(3) { [0]=> string(25) "Ввысы вываыва" [1]=> string(10) "Ввысы" [2]=> string(14) "вываыва" }
********************************************
string(10) "Ввысы"
********************************************
string(26) "������������ ;

Как видете - работает повышение регистра, а понижение нет....
Не подскажите в чем дело ?
Sanchopansa
<?php

$string = 'Ввысы вываыва прывав';


$up1 = '#([А-ЯЁ]?[а-яё]+)? ([А-ЯЁ]?[а-яё]+)?#ue';

preg_match($up1, $string, $out);

var_dump($out);

$reset1 = 'mb_strtoupper("$1","UTF-8");';
$reset2 = 'mb_strtolower("$2","UTF-8");';

?>
<hr>
<?php
var_dump(preg_replace($up1, $reset1, $string) );
?>
<hr>
<?php
var_dump(preg_replace($up1, $reset2, $string));
?>

у функций mb_strtoupper и mb_strtolower есть 2 параметр для указания кодировки! Удачи :)

ЗЫЖ и в твоем примере даже повышение регистра не работает :)
Цитата
array(3) { [0]=> string(25) "Ввысы вываыва" [1]=> string(10) "Ввысы" [2]=> string(14) "вываыва" }
********************************************
string(10) "Ввысы"
********************************************
string(26) "������������ ; ;
El` Mor
да... это так... на мелочах и прокалываемся... Спасибо smile.gif
Dattaya
Цитата
у функций mb_strtoupper и mb_strtolower есть 2 параметр для указания кодировки! Удачи smile.gif

Или вначале скрипта использовать http://php.net/mb_internal_encoding
Может кому-то будет полезна эта тема http://phpforum.ru/index.php?showtopic=15729
El` Mor
OБ спасибо БОЛЬШОЕ! Ообенно про mb_internal_encoding (забыл... давно не работал с этим!) и вторая тоже очень хорошая ссылка!

Даешь preg ! Всегда в Перл верил smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.