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

Форум PHP

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

 

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

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

тема: str_replace и юникд
 
 автор: admiral   (09.10.2012 в 19:24)   письмо автору
 
 

почему не рекомендуют использовать стр_реплейс в юникоде? Или при каких-то вариантов можно?

  Ответить  
 
 автор: confirm   (09.10.2012 в 21:05)   письмо автору
 
   для: admiral   (09.10.2012 в 19:24)
 

Юникод, это юникод, utf-юникод, это utf, так что еще бы понять о чем вы толкуете. А вообще же, ни кто ничего не рекомендует, просто для мультибайтных строк существуют свои функции замены, иначе str_replace() будет работать не корректно, эта функция для однобайтных представлений. Но опять таки не корректно это для hex-кода свыше 255, то есть не управляющие символы, не цифры, не латиница...
В общем, если вы знаете, что нужно изменить и на что, не зависимо от того в какой кодировке строка, то используйте str_replace(), и все будет корректно. Например:
<?
$s 
'&#1089;&#1083;&#1086;&#1074;&#1086;'//слово html-представление
echo str_replace('&#1086;','&#1072;',$s);
$s 'слово';//utf-8
echo str_replace("\xd0\xbe","\xd0\xb0",$s);

Hex-код слова "слово" в юникод имеет иное представление, чем в utf, но способом выше можете также производить замены и в нем.

  Ответить  
Rambler's Top100
вверх

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