Вход Регистрация
Файл: sys/inc/utf8_html_entity_decode.php
Строк: 57
<?php

function utf8_html_entity_decode($s$is_htmlspecialchars false) {
    if (
strlen($s) < || ($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;
}

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