Программирование > PHP

перевод символов &#xxxx; в win-1251

(1/1)

WG:
есть строка $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:
А что выдает в результате?

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

Навигация

[0] Главная страница сообщений

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 
Перейти к полной версии