До сега хиляди пъти съм заменял текст със друг , но този път ми възникна един проблем представен като пример:
$str="Мартин Иванов Петров | мартин иванов петров";
$str=$str_replace("/Мартин/i","MARTIN",$str);
echo $str;
В този случай би трябвало да ми изведе
"MARTIN Иванов Петров | MARTIN иванов петров"
Но ми извежда
"Мартин Иванов Петров | MARTIN иванов петров";
Има проблем с локала.
Такъв проблем имаше и някакъв грък писал запитване на php devs, но краен отговор не получи. Както и да е.
Решението е ( за различните енкодинги друг локал се сетва):
<?php
setlocale(LC_ALL, 'bg_BG');
?>
PS: Същия проблем имаше един приятел когато искаше да направи cp1251 текст с големи букви и не ставаше.
Ето го решението:
echo strtoupper("Преди setlocale-<i>Мартин Петров</i><br>");
setlocale(LC_ALL,"bg_BG");
echo strtoupper("Преди setlocale-<b>Мартин Петров</b><br>");
Резултат:
Преди SETLOCALE-Мартин Петров
ПРЕДИ SETLOCALE-МАРТИН ПЕТРОВ
Топ новина за деня: Блогът е добавен в
При компилиране на mysql и добавяне на допълнителни engines изпълнявам:
Днес трябваше да компилирам mysql-server-5.1 под Дебиан. Компилирах го и работи страхотно. Дори написах кратка публикация как може да се компилира бързо и лесно. Статията е качена отново на какво.орг за да бъде по- масово достъпна.
Понеже имам познати които незнаят как да фикснат грешките за неоткрити ключове при apt-get.
В момента
Днес в
Днес един пич: "Laurent Gaffié" откри малка пролука в WordPress 2.8.3 ,чрез която може да се ресетне паролата на акаунт: admin. Експлойта е публикуван в milw0rm->
Днес под Windows ми се наложи да минимизирам Firefox в Tray и за целта пробвах няколко адона, но нито един не ми допадна с изключение на един ;) "
Снощи поразцъках