phpbar.de logo

Mailinglisten-Archive

[php] Re: strip_entities()? (WAS: strip_tags)

[php] Re: strip_entities()? (WAS: strip_tags)

Martin Ramsch m.ramsch_(at)_computer.org
Mon, 4 Oct 1999 23:33:48 +0200


--UugvWAfsgieZRqgk
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Matthias Pigulla schrieb am Montag, den  4. Oktober 1999:
> Daher meine Frage: Kennt einer eine einfache Möglichkeit, htmlentities()
> rückgängig zu machen?
> 
> - Gibt es da eine Funktion für? (IMHO nein).
> - Ist sowas in Planung?
> - Kreative Vorschläge für einen Algorithmus? >:-)

Naja, viel Algorithmus ist da nicht dabei ...

Siehe Anhang ...

Ciao,
  Martin
-- 
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ >
PGP: 0xE8EF4F75, 5244 5EF3 B0B1 3826  E4EC 8058 7B31 3AD7

--UugvWAfsgieZRqgk
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="html2iso.php3"

<?php

$html2iso = array(
    '&nbsp;'   => CHR(160), // ' '
    '&iexcl;'  => CHR(161), // '¡'
    '&cent;'   => CHR(162), // '¢'
    '&pound;'  => CHR(163), // '£'
    '&curren;' => CHR(164), // '¤'
    '&yen;'    => CHR(165), // '¥'
    '&brvbar;' => CHR(166), // '¦'
    '&sect;'   => CHR(167), // '§'
    '&uml;'    => CHR(168), // '¨'
    '&copy;'   => CHR(169), // '©'
    '&ordf;'   => CHR(170), // 'ª'
    '&laquo;'  => CHR(171), // '«'
    '&not;'    => CHR(172), // '¬'
    '&shy;'    => CHR(173), // '­'
    '&reg;'    => CHR(174), // '®'
    '&macr;'   => CHR(175), // '¯'
    '&deg;'    => CHR(176), // '°'
    '&plusmn;' => CHR(177), // '±'
    '&sup2;'   => CHR(178), // '²'
    '&sup3;'   => CHR(179), // '³'
    '&acute;'  => CHR(180), // '´'
    '&micro;'  => CHR(181), // 'µ'
    '&para;'   => CHR(182), // '¶'
    '&middot;' => CHR(183), // '·'
    '&cedil;'  => CHR(184), // '¸'
    '&sup1;'   => CHR(185), // '¹'
    '&ordm;'   => CHR(186), // 'º'
    '&raquo;'  => CHR(187), // '»'
    '&frac14;' => CHR(188), // '¼'
    '&frac12;' => CHR(189), // '½'
    '&frac34;' => CHR(190), // '¾'
    '&iquest;' => CHR(191), // '¿'
                         
    '&Agrave;' => CHR(192), // 'À'
    '&Aacute;' => CHR(193), // 'Á'
    '&Acirc;'  => CHR(194), // 'Â'
    '&Atilde;' => CHR(195), // 'Ã'
    '&Auml;'   => CHR(196), // 'Ä'
    '&Aring;'  => CHR(197), // 'Å'
    '&AElig;'  => CHR(198), // 'Æ'
    '&Ccedil;' => CHR(199), // 'Ç'
    '&Egrave;' => CHR(200), // 'È'
    '&Eacute;' => CHR(201), // 'É'
    '&Ecirc;'  => CHR(202), // 'Ê'
    '&Euml;'   => CHR(203), // 'Ë'
    '&Igrave;' => CHR(204), // 'Ì'
    '&Iacute;' => CHR(205), // 'Í'
    '&Icirc;'  => CHR(206), // 'Î'
    '&Iuml;'   => CHR(207), // 'Ï'
    '&ETH;'    => CHR(208), // 'Ð'
    '&Ntilde;' => CHR(209), // 'Ñ'
    '&Ograve;' => CHR(210), // 'Ò'
    '&Oacute;' => CHR(211), // 'Ó'
    '&Ocirc;'  => CHR(212), // 'Ô'
    '&Otilde;' => CHR(213), // 'Õ'
    '&Ouml;'   => CHR(214), // 'Ö'
    '&times;'  => CHR(215), // '×'
    '&Oslash;' => CHR(216), // 'Ø'
    '&Ugrave;' => CHR(217), // 'Ù'
    '&Uacute;' => CHR(218), // 'Ú'
    '&Ucirc;'  => CHR(219), // 'Û'
    '&Uuml;'   => CHR(220), // 'Ü'
    '&Yacute;' => CHR(221), // 'Ý'
    '&THORN;'  => CHR(222), // 'Þ'
    '&szlig;'  => CHR(223), // 'ß'
                         
    '&agrave;' => CHR(224), // 'à'
    '&aacute;' => CHR(225), // 'á'
    '&acirc;'  => CHR(226), // 'â'
    '&atilde;' => CHR(227), // 'ã'
    '&auml;'   => CHR(228), // 'ä'
    '&aring;'  => CHR(229), // 'å'
    '&aelig;'  => CHR(230), // 'æ'
    '&ccedil;' => CHR(231), // 'ç'
    '&egrave;' => CHR(232), // 'è'
    '&eacute;' => CHR(233), // 'é'
    '&ecirc;'  => CHR(234), // 'ê'
    '&euml;'   => CHR(235), // 'ë'
    '&igrave;' => CHR(236), // 'ì'
    '&iacute;' => CHR(237), // 'í'
    '&icirc;'  => CHR(238), // 'î'
    '&iuml;'   => CHR(239), // 'ï'
    '&eth;'    => CHR(240), // 'ð'
    '&ntilde;' => CHR(241), // 'ñ'
    '&ograve;' => CHR(242), // 'ò'
    '&oacute;' => CHR(243), // 'ó'
    '&ocirc;'  => CHR(244), // 'ô'
    '&otilde;' => CHR(245), // 'õ'
    '&ouml;'   => CHR(246), // 'ö'
    '&divide;' => CHR(247), // '÷'
    '&oslash;' => CHR(248), // 'ø'
    '&ugrave;' => CHR(249), // 'ù'
    '&uacute;' => CHR(250), // 'ú'
    '&ucirc;'  => CHR(251), // 'û'
    '&uuml;'   => CHR(252), // 'ü'
    '&yacute;' => CHR(253), // 'ý'
    '&thorn;'  => CHR(254), // 'þ'
    '&yuml;'   => CHR(255)  // 'ÿ'
);

reset($html2iso); unset($entities); unset($isochars);
while( list($key, $value) = each($html2iso) ) {
  $entities[] = "/$key/g"; // Perl pattern
  $isochars[] = $value;    // replacement
}

$text = 'M&uuml;llers B&auml;ckerei und Imbi&szlig;!';

$neu  = preg_replace($entities, $isochars, $text);

echo HtmlSpecialChars($text), "<BR>\n";
echo HtmlSpecialChars($neu),  "<BR>\n";

?>

--UugvWAfsgieZRqgk--


php::bar PHP Wiki   -   Listenarchive