декодирование спец. символов HTML

young

Новичок
декодирование спец. символов HTML

Работает на строках:
Мониторы;LCD мониторы;15"

не работает на строках:
Hewlett-Packard L1530 15’’ Flat Panel Display 2T TCO

Как я пробовал:
1) html_entity_decode со всеми возможными модификаторами
2)
PHP:
function unhtmlentities ($string)
{
    $trans_tbl = get_html_translation_table (HTML_ENTITIES);
    $trans_tbl = array_flip ($trans_tbl);
    return strtr ($string, $trans_tbl);
}
какие еще есть варианты?
 

FreeSpace

Чукча-читатель
Эта функция (unhtmlentities) приводится в мануале в описании функции [m]html_entity_decode[/m] с пометкой "For users prior to PHP 4.3.0...".
Так что на свежих версиях php попробуй воспользоваться последней.
 

kvn

programmer
PHP:
function myhtmlentities($str) {
           
   $tbl=get_html_translation_table(HTML_ENTITIES);
           
   unset ($tbl["<"]);
   unset ($tbl[">"]);
   unset ($tbl["'"]);
   unset ($tbl['"']);

   $tbl["?"]="&quot;";
   $tbl["¦"]="&quot;";
   $tbl["-"]="...";
   $tbl["?"]="-";
   $tbl["¦"]="&raquo;";
   $tbl["L"]="&laquo;";
   // добавь сюда своих еще...
           
   return str_replace(array_keys($tbl),array_values($tbl),$str);
           
}
Только эта ф-ция делает действие наоборот...:)

See link for more details (user notes):
http://ua2.php.net/manual/en/function.htmlentities.php
 

Blindman

Новичок
Re: декодирование спец. символов HTML

все, что нужно - это использовать правильный чарсет:
PHP:
  echo html_entity_decode ('Hewlett-Packard L1530 15&rsquo;&rsquo; Flat Panel Display 2T TCO',ENT_QUOTES, 'cp1252');
выводит Hewlett-Packard L1530 15'' Flat Panel Display 2T TCO
 
Сверху