Автор Тема: перевод символов &#xxxx; в win-1251  (Прочитано 2572 раз)

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

Оффлайн WG

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
перевод символов &#xxxx; в win-1251
« : 18 Января 2007, 07:32:46 »
есть строка $str2=\'приве&#1090\';

Из нее на выходе надо получить строку ПРИВЕТ, т.е пишу функцию:


function decode($str2, $quote_style=ENT_COMPAT){
$trans2 = get_html_translation_table(HTML_ENTITIES);
$trans2 = array_flip($trans2);
$encoded2 = strtr($str2, $trans2);
$original = strtr($encoded2, $trans2);
return $original;
}

echo ecode($str2);

В результате перевода не происходит... в чем может быть ошибка?

Использовал и другую функцию:
 echo preg_replace_callback(\'/&#(\\d+);/s\', \'entities2windows_callback\', $str2);
function entities2windows_callback($p)
{
  $c = $p[1];
  if ($c < 256) return chr($c);
  $u = pack(\'n\', $c);
  return @iconv(\'UCS-2BE\', "windows-1251", $u);
}

Результат тот же. У хостера iconv установлен

Оффлайн Egorsha

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
перевод символов &#xxxx; в win-1251
« Ответ #1 : 18 Января 2007, 08:49:45 »
А что выдает в результате?

(я проверил Ваш код на локальном сервере в обеих случаях выдает "привет". Вроде нет ошибки.)

 

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