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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как перевести т

Сообщения:  [1-10]   [11-13] 

 
 автор: margol   (19.03.2007 в 13:50)   письмо автору
 
   для: Poison   (17.03.2007 в 19:52)
 

А как бы вот это
Ìàòâååâà
прочитать по русски?
Точнее, как определить в какой это кодировке представлено?

   
 
 автор: dim0s   (19.03.2007 в 00:13)   письмо автору
 
   для: dim0s   (18.03.2007 в 23:30)
 

вроде есть стандартная функция html_entity_decode.
p.s - нет, не то.

   
 
 автор: dim0s   (18.03.2007 в 23:30)   письмо автору
 
   для: Trianon   (18.03.2007 в 14:27)
 

Да конечно-же Вы абсолютно правы. Там preg_replace должно быть. Это я очепатался.
В любом случае ваше решение намного изящней. Я в регулярных выражениях полный профан.

   
 
 автор: Trianon   (18.03.2007 в 14:27)   письмо автору
 
   для: dim0s   (18.03.2007 в 07:31)
 

>А зачем переводить во что-то?
Потому что программисту нужен текст, а не html-код

>В броузере она как т и отбразиться полюбому.
Причем совершенно необязательно - для прямого вывода в браузер.
Возможно, чтобы дать имя тому или иному объекту (файлу, например), внести в запись таблицы БД, отобразить на графической картинке, выполнить поиск в другой строке, вырезать первые три символа, и еще сотни тысяч вариантов.

>А если всеж надо, например для сравнения или поиска, то тут лучше помоему сделать чтоб она попадала в скрипт в нормальном виде. Ну всмысле над вводом, или откуда она там берется работать.
>Вот такой еще вариант предлагается:

намек на регулярки в последних элементах массива через str_replace не пройдет.
Вообще же, если спускаться до уровня регулярок, напрашивается такое решение:

function unicode2utf8($m) {
//... 
}
preg_replace_callback("/&#([\d]{3:5});/", "unicode2utf8", $text);

   
 
 автор: dim0s   (18.03.2007 в 07:31)   письмо автору
 
   для: Trianon   (17.03.2007 в 22:01)
 

А зачем переводить во что-то? В броузере она как т и отбразиться полюбому.
А если всеж надо, например для сравнения или поиска, то тут лучше помоему сделать чтоб она попадала в скрипт в нормальном виде. Ну всмысле над вводом, или откуда она там берется работать.
Вот такой еще вариант предлагается:

<?php
function replace_cyr($path){
$search = array("'&#1025'""'&#1040'"
"'&#1041'""'&#1042'""'&#1043'"
"'&#1044'""'&#1045'""'&#1046'"
"'&#1047'""'&#1048'""'&#1049'"
"'&#1050'""'&#1051'""'&#1052'"
"'&#1053'""'&#1054'""'&#1055'"
"'&#1056'""'&#1057'""'&#1058"
"'&#1059'""'&#1060'""'&#1061'"
"'&#1062'""'&#1063'""'&#1064'"
"'&#1065'""'&#1066'""'&#1067'"
"'&#1068'""'&#1069'""'&#1070'"
"'&#1071'""'&#1072'""'&#1073'"
"'&#1074'""'&#1075'""'&#1076'"
"'&#1077'""'&#1078'""'&#1079'"
"'&#1080'""'&#1081'""'&#1082'"
"'&#1083'""'&#1084'""'&#1085'"
"'&#1086'""'&#1087'""'&#1088'"
"'&#1089'""'&#1090'""'&#1091'"
"'&#1092'""'&#1093'""'&#1094'"
"'&#1095'""'&#1096'""'&#1097'"
"'&#1098'""'&#1099'""'&#1100'"
"'&#1101'""'&#1102'""'&#1103'"
"'&#1105'""'(\d+);'e");
$raplace = array("Ё""А""Б""В""Г"
"Д""Е""Ж""З""И""Й""К""Л"
"М""Н""О""П""Р""С""Т""У"
"Ф""Х""Ц""Ч""Ш""Щ""Ъ""Ы"
"Ь""Э""Ю""Я""а""б""в""г"
"д""е""ж""з""и""й""к""л"
"м""н""о""п""р""с""т""у"
"ф""х""ц""ч""ш""щ""ъ""ы"
"ь""э""ю""я""ё""\\1");
return 
str_replace($search,$raplace,$path);
}
$html_text "&#1040&#1041&#1042&#1043&#1044";
print 
replace_cyr($html_text);
    
// получим на выходе АБВГД
?>

   
 
 автор: Trianon   (17.03.2007 в 22:01)   письмо автору
 
   для: Poison   (17.03.2007 в 20:17)
 

Потому что эта строка не в формате utf-8.
Эта строка содержит символы, закодированные html-эквивалентами, опирающимися на unicode-набор. Их надо сперва преобразовать в одну из utf/ucs кодировок. Стандартную функцию навскидку не подскажу.

   
 
 автор: Poison   (17.03.2007 в 20:17)   письмо автору
 
   для: Trianon   (17.03.2007 в 20:12)
 

Нехочет что-то у меняч работать:((


<?
echo iconv("UTF-8""Windows-1251""&#1090;");
?>


Ткни пальцем:)

   
 
 автор: Trianon   (17.03.2007 в 20:12)   письмо автору
 
   для: Poison   (17.03.2007 в 20:09)
 

а это и есть т . В кодировке unicode.
Функция преобразущая текст из одной кодировки в другую - iconv

   
 
 автор: Poison   (17.03.2007 в 20:09)   письмо автору
 
   для: Trianon   (17.03.2007 в 20:04)
 

Спасибо=)
А есть функция которая преобразует вот это в т?

   
 
 автор: Trianon   (17.03.2007 в 20:04)   письмо автору
 
   для: Poison   (17.03.2007 в 20:04)
 

Да. я уже понял, что стормозил. :)
Итак 0442 CYRILLIC SMALL LETTER TE

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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