PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : prob mit stringcodierung



wuff
12.12.2007, 07:08
also ich zieh nen string von ner mysql-db der zeichen wie \xff etc. enthält. jetzt will ich das als binärdaten zurückschicken, doch es kommt immer was wie ÿ - also html-encodiert.

mit html_entity_decode funktionierts, allerdings erst ab php 4.0 :(. ich brauch nen code der unter php 2.2 läuft oO.
str_replace - php 3.0.
header('Content-Type: image/jpeg'); - (würde das funzen?) php 4.0

echt beschissene situation.... wenn jmd rat weiß... :)


edit:
ok, hab ne lösung gefunden. hab mich in der version geirrt. war doch 4.0. wens interessiert hier die lösung:



// Usern mit einer PHP-Version vor 4.3.0 hilft folgender Workaround:
function unhtmlentities($string)
{
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
// replace literal entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);