Вход Регистрация
Файл: sys/inc/utf8_html_entity_decode.php
Строк: 57
<?php
function utf8_html_entity_decode($s$is_htmlspecialchars false)
{

    if (
strlen($s) < 4
        
|| ($pos strpos($s'&') === false) || strpos($s';'$pos) === false) return $s;
    
$table = array(

        
'&nbsp;'   => "xc2xa0",
        
'&iexcl;'  => "xc2xa1",
        
'&cent;'   => "xc2xa2",
        
'&pound;'  => "xc2xa3",
        
'&curren;' => "xc2xa4",
        
'&yen;'    => "xc2xa5",
        
'&brvbar;' => "xc2xa6",
        
'&sect;'   => "xc2xa7",
        
'&uml;'    => "xc2xa8",
        
'&copy;'   => "xc2xa9",
        
'&ordf;'   => "xc2xaa",
        
'&laquo;'  => "xc2xab",
        
'&not;'    => "xc2xac",
        
'&shy;'    => "xc2xad",
        
'&reg;'    => "xc2xae",
        
'&macr;'   => "xc2xaf",
        
'&deg;'    => "xc2xb0",
        
'&plusmn;' => "xc2xb1",
        
'&sup2;'   => "xc2xb2",
        
'&sup3;'   => "xc2xb3",
        
'&acute;'  => "xc2xb4",
        
'&micro;'  => "xc2xb5",
        
'&para;'   => "xc2xb6",
        
'&middot;' => "xc2xb7",
        
'&cedil;'  => "xc2xb8",
        
'&sup1;'   => "xc2xb9",
        
'&ordm;'   => "xc2xba",
        
'&raquo;'  => "xc2xbb",
        
'&frac14;' => "xc2xbc",
        
'&frac12;' => "xc2xbd",
        
'&frac34;' => "xc2xbe",
        
'&iquest;' => "xc2xbf",
        
'&Agrave;' => "xc3x80",
        
'&Aacute;' => "xc3x81",
        
'&Acirc;'  => "xc3x82",
        
'&Atilde;' => "xc3x83",
        
'&Auml;'   => "xc3x84",
        
'&Aring;'  => "xc3x85",
        
'&AElig;'  => "xc3x86",
        
'&Ccedil;' => "xc3x87",
        
'&Egrave;' => "xc3x88",
        
'&Eacute;' => "xc3x89",
        
'&Ecirc;'  => "xc3x8a",
        
'&Euml;'   => "xc3x8b",
        
'&Igrave;' => "xc3x8c",
        
'&Iacute;' => "xc3x8d",
        
'&Icirc;'  => "xc3x8e",
        
'&Iuml;'   => "xc3x8f",
        
'&ETH;'    => "xc3x90",
        
'&Ntilde;' => "xc3x91",
        
'&Ograve;' => "xc3x92",
        
'&Oacute;' => "xc3x93",
        
'&Ocirc;'  => "xc3x94",
        
'&Otilde;' => "xc3x95",
        
'&Ouml;'   => "xc3x96",
        
'&times;'  => "xc3x97",
        
'&Oslash;' => "xc3x98",
        
'&Ugrave;' => "xc3x99",
        
'&Uacute;' => "xc3x9a",
        
'&Ucirc;'  => "xc3x9b",
        
'&Uuml;'   => "xc3x9c",
        
'&Yacute;' => "xc3x9d",
        
'&THORN;'  => "xc3x9e",
        
'&szlig;'  => "xc3x9f",
        
'&agrave;' => "xc3xa0",
        
'&aacute;' => "xc3xa1",
        
'&acirc;'  => "xc3xa2",
        
'&atilde;' => "xc3xa3",
        
'&auml;'   => "xc3xa4",
        
'&aring;'  => "xc3xa5",
        
'&aelig;'  => "xc3xa6",
        
'&ccedil;' => "xc3xa7",
        
'&egrave;' => "xc3xa8",
        
'&eacute;' => "xc3xa9",
        
'&ecirc;'  => "xc3xaa",
        
'&euml;'   => "xc3xab",
        
'&igrave;' => "xc3xac",
        
'&iacute;' => "xc3xad",
        
'&icirc;'  => "xc3xae",
        
'&iuml;'   => "xc3xaf",
        
'&eth;'    => "xc3xb0",
        
'&ntilde;' => "xc3xb1",
        
'&ograve;' => "xc3xb2",
        
'&oacute;' => "xc3xb3",
        
'&ocirc;'  => "xc3xb4",
        
'&otilde;' => "xc3xb5",
        
'&ouml;'   => "xc3xb6",
        
'&divide;' => "xc3xb7",
        
'&oslash;' => "xc3xb8",
        
'&ugrave;' => "xc3xb9",
        
'&uacute;' => "xc3xba",
        
'&ucirc;'  => "xc3xbb",
        
'&uuml;'   => "xc3xbc",
        
'&yacute;' => "xc3xbd",
        
'&thorn;'  => "xc3xbe",
        
'&yuml;'   => "xc3xbf",
        
'&fnof;'    => "xc6x92",
        
'&Alpha;'   => "xcex91",
        
'&Beta;'    => "xcex92",
        
'&Gamma;'   => "xcex93",
        
'&Delta;'   => "xcex94",
        
'&Epsilon;' => "xcex95",
        
'&Zeta;'    => "xcex96",
        
'&Eta;'     => "xcex97",
        
'&Theta;'   => "xcex98",
        
'&Iota;'    => "xcex99",
        
'&Kappa;'   => "xcex9a",
        
'&Lambda;'  => "xcex9b",
        
'&Mu;'      => "xcex9c",
        
'&Nu;'      => "xcex9d",
        
'&Xi;'      => "xcex9e",
        
'&Omicron;' => "xcex9f",
        
'&Pi;'      => "xcexa0",
        
'&Rho;'     => "xcexa1",
        
'&Sigma;'   => "xcexa3",
        
'&Tau;'     => "xcexa4",
        
'&Upsilon;' => "xcexa5",
        
'&Phi;'     => "xcexa6",
        
'&Chi;'     => "xcexa7",
        
'&Psi;'     => "xcexa8",
        
'&Omega;'   => "xcexa9",
        
'&alpha;'   => "xcexb1",
        
'&beta;'    => "xcexb2",
        
'&gamma;'   => "xcexb3",
        
'&delta;'   => "xcexb4",
        
'&epsilon;' => "xcexb5",
        
'&zeta;'    => "xcexb6",
        
'&eta;'     => "xcexb7",
        
'&theta;'   => "xcexb8",
        
'&iota;'    => "xcexb9",
        
'&kappa;'   => "xcexba",
        
'&lambda;'  => "xcexbb",
        
'&mu;'      => "xcexbc",
        
'&nu;'      => "xcexbd",
        
'&xi;'      => "xcexbe",
        
'&omicron;' => "xcexbf",
        
'&pi;'      => "xcfx80",
        
'&rho;'     => "xcfx81",
        
'&sigmaf;'  => "xcfx82",
        
'&sigma;'   => "xcfx83",
        
'&tau;'     => "xcfx84",
        
'&upsilon;' => "xcfx85",
        
'&phi;'     => "xcfx86",
        
'&chi;'     => "xcfx87",
        
'&psi;'     => "xcfx88",
        
'&omega;'   => "xcfx89",
        
'&thetasym;'=> "xcfx91",
        
'&upsih;'   => "xcfx92",
        
'&piv;'     => "xcfx96",
        
'&bull;'    => "xe2x80xa2",
        
'&hellip;'  => "xe2x80xa6",
        
'&prime;'   => "xe2x80xb2",
        
'&Prime;'   => "xe2x80xb3",
        
'&oline;'   => "xe2x80xbe",
        
'&frasl;'   => "xe2x81x84",
        
'&weierp;'  => "xe2x84x98",
        
'&image;'   => "xe2x84x91",
        
'&real;'    => "xe2x84x9c",
        
'&trade;'   => "xe2x84xa2",
        
'&alefsym;' => "xe2x84xb5",
        
'&larr;'    => "xe2x86x90",
        
'&uarr;'    => "xe2x86x91",
        
'&rarr;'    => "xe2x86x92",
        
'&darr;'    => "xe2x86x93",
        
'&harr;'    => "xe2x86x94",
        
'&crarr;'   => "xe2x86xb5",
        
'&lArr;'    => "xe2x87x90",
        
'&uArr;'    => "xe2x87x91",
        
'&rArr;'    => "xe2x87x92",
        
'&dArr;'    => "xe2x87x93",
        
'&hArr;'    => "xe2x87x94",
        
'&forall;'  => "xe2x88x80",
        
'&part;'    => "xe2x88x82",
        
'&exist;'   => "xe2x88x83",
        
'&empty;'   => "xe2x88x85",
        
'&nabla;'   => "xe2x88x87",
        
'&isin;'    => "xe2x88x88",
        
'&notin;'   => "xe2x88x89",
        
'&ni;'      => "xe2x88x8b",
        
'&prod;'    => "xe2x88x8f",
        
'&sum;'     => "xe2x88x91",
        
'&minus;'   => "xe2x88x92",
        
'&lowast;'  => "xe2x88x97",
        
'&radic;'   => "xe2x88x9a",
        
'&prop;'    => "xe2x88x9d",
        
'&infin;'   => "xe2x88x9e",
        
'&ang;'     => "xe2x88xa0",
        
'&and;'     => "xe2x88xa7",
        
'&or;'      => "xe2x88xa8",
        
'&cap;'     => "xe2x88xa9",
        
'&cup;'     => "xe2x88xaa",
        
'&int;'     => "xe2x88xab",
        
'&there4;'  => "xe2x88xb4",
        
'&sim;'     => "xe2x88xbc",
        
'&cong;'    => "xe2x89x85",
        
'&asymp;'   => "xe2x89x88",
        
'&ne;'      => "xe2x89xa0",
        
'&equiv;'   => "xe2x89xa1",
        
'&le;'      => "xe2x89xa4",
        
'&ge;'      => "xe2x89xa5",
        
'&sub;'     => "xe2x8ax82",
        
'&sup;'     => "xe2x8ax83",
        
'&nsub;'    => "xe2x8ax84",
        
'&sube;'    => "xe2x8ax86",
        
'&supe;'    => "xe2x8ax87",
        
'&oplus;'   => "xe2x8ax95",
        
'&otimes;'  => "xe2x8ax97",
        
'&perp;'    => "xe2x8axa5",
        
'&sdot;'    => "xe2x8bx85",
        
'&lceil;'   => "xe2x8cx88",
        
'&rceil;'   => "xe2x8cx89",
        
'&lfloor;'  => "xe2x8cx8a",
        
'&rfloor;'  => "xe2x8cx8b",
        
'&lang;'    => "xe2x8cxa9",
        
'&rang;'    => "xe2x8cxaa",
        
'&loz;'     => "xe2x97x8a",
        
'&spades;'  => "xe2x99xa0",
        
'&clubs;'   => "xe2x99xa3",
        
'&hearts;'  => "xe2x99xa5",
        
'&diams;'   => "xe2x99xa6",
        
'&OElig;'  => "xc5x92",
        
'&oelig;'  => "xc5x93",
        
'&Scaron;' => "xc5xa0",
        
'&scaron;' => "xc5xa1",
        
'&Yuml;'   => "xc5xb8",
        
'&circ;'   => "xcbx86",
        
'&tilde;'  => "xcbx9c",
        
'&ensp;'   => "xe2x80x82",
        
'&emsp;'   => "xe2x80x83",
        
'&thinsp;' => "xe2x80x89",
        
'&zwnj;'   => "xe2x80x8c",
        
'&zwj;'    => "xe2x80x8d",
        
'&lrm;'    => "xe2x80x8e",
        
'&rlm;'    => "xe2x80x8f",
        
'&ndash;'  => "xe2x80x93",
        
'&mdash;'  => "xe2x80x94",
        
'&lsquo;'  => "xe2x80x98",
        
'&rsquo;'  => "xe2x80x99",
        
'&sbquo;'  => "xe2x80x9a",
        
'&ldquo;'  => "xe2x80x9c",
        
'&rdquo;'  => "xe2x80x9d",
        
'&bdquo;'  => "xe2x80x9e",
        
'&dagger;' => "xe2x80xa0",
        
'&Dagger;' => "xe2x80xa1",
        
'&permil;' => "xe2x80xb0",
        
'&lsaquo;' => "xe2x80xb9",
        
'&rsaquo;' => "xe2x80xba",
        
'&euro;'   => "xe2x82xac",
    );
    
$htmlspecialchars = array(
        
'&quot;' => "x22",
        
'&amp;'  => "x26",
        
'&lt;'   => "x3c",
        
'&gt;'   => "x3e",
    );

    if (
$is_htmlspecialchars$table += $htmlspecialchars;

      
preg_match_all('/&[a-zA-Z]+d*;/s'$s$mnull$pos);
    foreach (
array_unique($m[0]) as $entity)
    {
        if (
array_key_exists($entity$table)) $s str_replace($entity$table[$entity], $s);
    }

    if ((
$pos strpos($s'&#')) !== false)
    {
          
$htmlspecialchars_flip array_flip($htmlspecialchars);
        
$s preg_replace(
            
'/&#((x)[da-fA-F]{2,4}|d{1,4});/se',
            
'(array_key_exists($a = pack("C", $d = ("$2") ? hexdec("$1") : "$1"), $htmlspecialchars_flip) && ! $is_htmlspecialchars) ?
             $htmlspecialchars_flip[$a] :
             iconv("UCS-2BE", "UTF-8", pack("n", $d))'
$s, -1$pos);
    }
    return 
$s;
}

?>
Онлайн: 1
Реклама