Автор Тема: Перевод кодировки  (Прочитано 2778 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex-party

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.infoseka.lt/alex/
Перевод кодировки
« : 19 Июля 2003, 11:14:58 »
Люди добрые! Помогите!

Bот етой функцией я перевожу строку в HTML.
------------------------
function xmlentities($string, $quote_style=ENT_COMPAT)
{
   $trans = get_html_translation_table(HTML_ENTITIES, $quote_style);

  foreach ($trans as $key => $value)
       $trans[$key] = \'&#\'.ord($key).\';\';

   return strtr($string, $trans);
}
------------------------
Например: xmlentities("привет"); => выдаст: #1087;#1088;#1080;#1074;#1077;#1090;
А КАК ТЕПЕРЬ ПЕРЕВЕСТИ ОБРАТНО?
ВСЕ ПЕРЕПРОБЫВАЛ - НУ НИ КАК НЕПОЛУЧАЕТСЯ.....
Все начинается с Ctrl+Alt+Del

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Перевод кодировки
« Ответ #1 : 19 Июля 2003, 12:21:47 »
Хинт: функция [p]chr[/p] - обратная функции ord.
[p]array_flip[/p] тебе тоже пригодится.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн alex-party

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.infoseka.lt/alex/
Перевод кодировки
« Ответ #2 : 19 Июля 2003, 16:06:25 »
:) Спасибо за подсказку. Вот я переделал  - все получилось. Протестировал - рботает на все 100:super:  Вот как выгледят ети ф-ии:

function encode($str, $quote_style=ENT_COMPAT){
$trans = get_html_translation_table(HTML_ENTITIES);
$encoded = strtr($str, $trans);
return $encoded;
}

function decode($str, $quote_style=ENT_COMPAT){
$trans = get_html_translation_table(HTML_ENTITIES);
$trans = array_flip($trans);
   $encoded = strtr($str, $trans);
   $original = strtr($encoded, $trans);
return $original;
}

Пример:
encode("привет"); => выдаст: #1087;#1088;#1080;#1074;#1077;#1090;

decode("#1087;#1088;#1080;#1074;#1077;#1090;
"); => выдаст: "привет"
« Последнее редактирование: 19 Июля 2003, 16:59:25 от alex-party »
Все начинается с Ctrl+Alt+Del

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28