htmlspecialchars_decode не работает

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Помогите, пожалуйста, преобразовать текст вида
в читаемый вид.
echo htmlspecialchars_decode($text,ENT_QUOTES);
Не преобразовывает текст.
 
Какого вида текст то?
 
Можно попробовать вручную:
PHP:
function htmlspc_decode($string,$style=ENT_COMPAT)
{
    $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS,$style));
    if($style === ENT_QUOTES){ $translation['''] = "'"; }
    return strtr($string,$translation);
}
 
Текст вида:
PHP:
& #1040;& #1085;& #1072;& #1083;& #1080;& #1079;
Пробелы добавил, потому что форум переводит эти символы в буквы.
 
PHP:
echo utf8_decode('& #1040;& #1085;& #1072;& #1083;& #1080;& #1079;'); //пробелы убрать
utf8_decode раскодирует из utf8 в ISO-8859-1 - в этом наборе нет кириллицы
ежели не поможет, это точно спасет
PHP:
echo iconv('utf-8','windows-1251', html_entity_decode( '& #1040;& #1085;& #1072;& #1083;& #1080;& #1079;', ENT_NOQUOTES, 'utf-8'));
 
Первый вариант не помог.
Второй - сработал.
Объясните, пожалуйста, почему не работал html_decode либо utf8_decode?
 
htmlspecialchars_decode() – метод позволяет декодировать информацию, записанную с применением символьных подстановок HTML. Как известно, многие символы, такие, например, как символы сравнения «больше» или «меньше», нельзя напрямую включать в содержимое HTML-страницы, так как они выполняют служебные функции. Поэтому для таких символов установлены специализированные текстовые подстановки. И искомый метод позволяет конвертировать текст с подобными подстановками в обычную текстовую строку с нормальными символами. В качестве параметра методу передается строка с символьными HTML-подстановками. Метод, в свою очередь, возвращает уже преобразованную строку чистого текста.
utf8_decode () - не знает кириллицу
 
Назад
Сверху