Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр 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 Яндекс.Метрика Яндекс цитирования