|
|
|
|
|
для: Poison
(17.03.2007 в 19:52)
| | А как бы вот это
Ìàòâååâà
прочитать по русски?
Точнее, как определить в какой это кодировке представлено? | |
|
|
|
|
|
|
|
для: dim0s
(18.03.2007 в 23:30)
| | вроде есть стандартная функция html_entity_decode.
p.s - нет, не то. | |
|
|
|
|
|
|
|
для: Trianon
(18.03.2007 в 14:27)
| | Да конечно-же Вы абсолютно правы. Там preg_replace должно быть. Это я очепатался.
В любом случае ваше решение намного изящней. Я в регулярных выражениях полный профан. | |
|
|
|
|
|
|
|
для: dim0s
(18.03.2007 в 07:31)
| | >А зачем переводить во что-то?
Потому что программисту нужен текст, а не html-код
>В броузере она как т и отбразиться полюбому.
Причем совершенно необязательно - для прямого вывода в браузер.
Возможно, чтобы дать имя тому или иному объекту (файлу, например), внести в запись таблицы БД, отобразить на графической картинке, выполнить поиск в другой строке, вырезать первые три символа, и еще сотни тысяч вариантов.
>А если всеж надо, например для сравнения или поиска, то тут лучше помоему сделать чтоб она попадала в скрипт в нормальном виде. Ну всмысле над вводом, или откуда она там берется работать.
>Вот такой еще вариант предлагается:
намек на регулярки в последних элементах массива через str_replace не пройдет.
Вообще же, если спускаться до уровня регулярок, напрашивается такое решение:
function unicode2utf8($m) {
//...
}
preg_replace_callback("/&#([\d]{3:5});/", "unicode2utf8", $text);
|
| |
|
|
|
|
|
|
|
для: Trianon
(17.03.2007 в 22:01)
| | А зачем переводить во что-то? В броузере она как т и отбразиться полюбому.
А если всеж надо, например для сравнения или поиска, то тут лучше помоему сделать чтоб она попадала в скрипт в нормальном виде. Ну всмысле над вводом, или откуда она там берется работать.
Вот такой еще вариант предлагается:
<?php
function replace_cyr($path){
$search = array("'Ё'", "'А'",
"'Б'", "'В'", "'Г'",
"'Д'", "'Е'", "'Ж'",
"'З'", "'И'", "'Й'",
"'К'", "'Л'", "'М'",
"'Н'", "'О'", "'П'",
"'Р'", "'С'", "'Т",
"'У'", "'Ф'", "'Х'",
"'Ц'", "'Ч'", "'Ш'",
"'Щ'", "'Ъ'", "'Ы'",
"'Ь'", "'Э'", "'Ю'",
"'Я'", "'а'", "'б'",
"'в'", "'г'", "'д'",
"'е'", "'ж'", "'з'",
"'и'", "'й'", "'к'",
"'л'", "'м'", "'н'",
"'о'", "'п'", "'р'",
"'с'", "'т'", "'у'",
"'ф'", "'х'", "'ц'",
"'ч'", "'ш'", "'щ'",
"'ъ'", "'ы'", "'ь'",
"'э'", "'ю'", "'я'",
"'ё'", "'(\d+);'e");
$raplace = array("Ё", "А", "Б", "В", "Г",
"Д", "Е", "Ж", "З", "И", "Й", "К", "Л",
"М", "Н", "О", "П", "Р", "С", "Т", "У",
"Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы",
"Ь", "Э", "Ю", "Я", "а", "б", "в", "г",
"д", "е", "ж", "з", "и", "й", "к", "л",
"м", "н", "о", "п", "р", "с", "т", "у",
"ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы",
"ь", "э", "ю", "я", "ё", "\\1");
return str_replace($search,$raplace,$path);
}
$html_text = "АБВГД";
print replace_cyr($html_text);
// получим на выходе АБВГД
?>
|
| |
|
|
|
|
|
|
|
для: Poison
(17.03.2007 в 20:17)
| | Потому что эта строка не в формате utf-8.
Эта строка содержит символы, закодированные html-эквивалентами, опирающимися на unicode-набор. Их надо сперва преобразовать в одну из utf/ucs кодировок. Стандартную функцию навскидку не подскажу. | |
|
|
|
|
|
|
|
для: Trianon
(17.03.2007 в 20:12)
| | Нехочет что-то у меняч работать:((
<?
echo iconv("UTF-8", "Windows-1251", "т");
?>
|
Ткни пальцем:) | |
|
|
|
|
|
|
|
для: Poison
(17.03.2007 в 20:09)
| | а это и есть т . В кодировке unicode.
Функция преобразущая текст из одной кодировки в другую - iconv | |
|
|
|
|
|
|
|
для: Trianon
(17.03.2007 в 20:04)
| | Спасибо=)
А есть функция которая преобразует вот это в т? | |
|
|
|
|
|
|
|
для: Poison
(17.03.2007 в 20:04)
| | Да. я уже понял, что стормозил. :)
Итак 0442 CYRILLIC SMALL LETTER TE | |
|
|
| |
|