phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

preg_replace

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
jeeve
Utente
Utente
Messaggi: 1
Iscritto il: 12/11/2016, 16:08

preg_replace

Messaggio da jeeve » 12/11/2016, 16:16

Ciao a tutti sto sistemando un sito che e' passato a php 5.5.38 pertanto sto cercando di risolvare tutte isytuzioni che vengono indicate come deprecated ma non riesco proprio a sostituire preg_replace con preg_replace_callback.

Posto la porzione di codice incriminata sperando in un vs aiuto.

Codice: Seleziona tutto

<?php

    function named_to_numeric ($string) {
        global $_entities;
        $string = strtr($string, $_entities['latin']);
        $string = strtr($string, $_entities['extended']);
        return $string;    
    }
    
    function normalize_numeric ($string) {
        global $_entities;
        $string = strtr($string, $_entities['cp1251']);
        $string = preg_replace('/&#([0-9]+)/e', "'&#x'.dechex('\\1')", $string);
        $string = preg_replace('/&#[Xx]([0-9A-Fa-f]+)(;?|([^A-Za-z0-9\;\:\.\-\_]))/', '&#x\\1;\\3', $string);
        return $string;
    }
 
    function numeric_to_utf8 ($string) {
        $string = preg_replace('/&#([0-9]+)/e', "'&#x0'.dechex('\\1')", $string); 
        $string = preg_replace('/&#[Xx]([0-9A-Fa-f]+);/e', "_hex_to_utf8('\\1')", $string);        
        return $string;     
        
    }
      
    function numeric_to_named ($string) {
        global $_entities;
        $string = preg_replace('/&#[Xx]([0-9A-Fa-f]+)/e', "'&#'.hexdec('\\1')", $string);
        $string = strtr($string, array_flip($_entities['latin']));
        $string = strtr($string, array_flip($_entities['extended']));
        return $string;    
    }
    
    function specialchars ($string, $type = 'xml') {
        $apos = $type == 'xml' ? '&apos;' : ''';
        $specialchars = array (
            '"'    => '"',        '&'       => '&',          
            '&apos;'      => $apos,            '<'      => '<',        
            '>'        => '>',            '"'            => '"',
            '&'            => '&',            "'"            => $apos,
            '<'            => '<',            '>'            => '>'
        );
    
        $string = preg_replace('/&(#?[Xx]?[0-9A-Za-z]+);/', "[[[ENTITY:\\1]]]", $string);        
        $string = strtr($string, $specialchars);
        $string = preg_replace('/\[\[\[ENTITY\:([^\]]+)\]\]\]/', "&\\1;", $string);        
        return $string;
    }
    

    function _hex_to_utf8($s)
    {
        /* IN:  string containing one hexadecimal Unicode character
           * OUT: string containing one binary UTF-8 character
          */
                 
        $c = hexdec($s);
    
        if ($c < 0x80) {
            $str = chr($c);
        }
        else if ($c < 0x800) {
            $str = chr(0xC0 | $c>>6) . chr(0x80 | $c & 0x3F);
        }
        else if ($c < 0x10000) {
            $str = chr(0xE0 | $c>>12) . chr(0x80 | $c>>6 & 0x3F) . chr(0x80 | $c & 0x3F);
        }
        else if ($c < 0x200000) {
            $str = chr(0xF0 | $c>>18) . chr(0x80 | $c>>12 & 0x3F) . chr(0x80 | $c>>6 & 0x3F) . chr(0x80 | $c & 0x3F);
        }
                
        return $str;
    }         


$_entities['cp1251'] = array (
    '&#128'         => '&#8364',    '&#130'         => '&#8218',    '&#131'         => '&#402',    
    '&#132'         => '&#8222',    '&#133'         => '&#8230',    '&#134'         => '&#8224',    
    '&#135'         => '&#8225',    '&#136'         => '&#710',        '&#137'         => '&#8240',    
    '&#138'         => '&#352',        '&#139'         => '&#8249',    '&#140'         => '&#338',    
    '&#142'         => '&#381',        '&#145'         => '&#8216',    '&#146'         => '&#8217',    
    '&#147'         => '&#8220',    '&#148'         => '&#8221',    '&#149'         => '&#8226',    
    '&#150'         => '&#8211',    '&#151'         => '&#8212',    '&#152'         => '&#732',    
    '&#153'         => '&#8482',    '&#154'         => '&#353',        '&#155'         => '&#8250',    
    '&#156'         => '&#339',        '&#158'         => '&#382',        '&#159'         => '&#376',    
);
    
$_entities['latin'] = array (
    '&nbsp'         => '&#160',        '&iexcl'        => '&#161',        '&cent'         => '&#162',    
    '&pound'         => '&#163',        '&curren'        => '&#164',        '&yen'             => '&#165',    
    '&brvbar'        => '&#166',     '&sect'         => '&#167',        '&uml'             => '&#168',    
    '&copy'         => '&#169',        '&ordf'         => '&#170',        '&laquo'         => '&#171',    
    '&not'             => '&#172',        '&shy'             => '&#173',        '&reg'             => '&#174',    
    '&macr'         => '&#175',        '&deg'             => '&#176',        '&plusmn'         => '&#177',    
    '&sup2'         => '&#178',        '&sup3'         => '&#179',     '&acute'         => '&#180',    
    '&micro'         => '&#181',     '&para'         => '&#182',        '&middot'         => '&#183',    
    '&cedil'         => '&#184',     '&sup1'         => '&#185',        '&ordm'         => '&#186',    
    '&raquo'         => '&#187',        '&frac14'         => '&#188',        '&frac12'         => '&#189',    
    '&frac34'         => '&#190',        '&iquest'         => '&#191',        '&Agrave'         => '&#192',    
    '&Aacute'         => '&#193',        '&Acirc'         => '&#194',        '&Atilde'         => '&#195',    
    '&Auml'         => '&#196',        '&Aring'         => '&#197',        '&AElig'         => '&#198',    
    '&Ccedil'        => '&#199',     '&Egrave'         => '&#200',        '&Eacute'         => '&#201',    
    '&Ecirc'         => '&#202',        '&Euml'         => '&#203',        '&Igrave'         => '&#204',    
    '&Iacute'         => '&#205',        '&Icirc'         => '&#206',        '&Iuml'         => '&#207',     
    '&ETH'             => '&#208',        '&Ntilde'         => '&#209',        '&Ograve'         => '&#210',    
    '&Oacute'        => '&#211',        '&Ocirc'         => '&#212',        '&Otilde'         => '&#213',    
    '&Ouml'         => '&#214',        '&times'         => '&#215',        '&Oslash'         => '&#216',    
    '&Ugrave'         => '&#217',        '&Uacute'         => '&#218',        '&Ucirc'         => '&#219',    
    '&Uuml'         => '&#220',        '&Yacute'         => '&#221',        '&THORN'         => '&#222',    
    '&szlig'         => '&#223',        '&agrave'         => '&#224',        '&aacute'         => '&#225',    
    '&acirc'         => '&#226',        '&atilde'         => '&#227',        '&auml'         => '&#228',    
    '&aring'         => '&#229',        '&aelig'         => '&#230',        '&ccedil'         => '&#231',    
    '&egrave'         => '&#232',        '&eacute'         => '&#233',        '&ecirc'         => '&#234',    
    '&euml'         => '&#235',        '&igrave'         => '&#236',        '&iacute'         => '&#237',    
    '&icirc'         => '&#238',        '&iuml'         => '&#239',        '&eth'             => '&#240',    
    '&ntilde'         => '&#241',        '&ograve'         => '&#242',        '&oacute'         => '&#243',    
    '&ocirc'         => '&#244',        '&otilde'         => '&#245',        '&ouml'         => '&#246',    
    '&divide'         => '&#247',        '&oslash'         => '&#248',        '&ugrave'         => '&#249',    
    '&uacute'         => '&#250',        '&ucirc'         => '&#251',        '&uuml'         => '&#252',    
    '&yacute'         => '&#253',        '&thorn'         => '&#254',        '&yuml'         => '&#255',    
);    
    
$_entities['extended'] = array (
    '&OElig'        => '&#338',        '&oelig'        => '&#229',        '&Scaron'        => '&#352',    
    '&scaron'        => '&#353',        '&Yuml'            => '&#376',        '&circ'            => '&#710',    
    '&tilde'        => '&#732',     '&esnp'            => '&#8194',    '&emsp'            => '&#8195',    
    '&thinsp'        => '&#8201',    '&zwnj'            => '&#8204',    '&zwj'            => '&#8205',    
    '&lrm'            => '&#8206',    '&rlm'            => '&#8207',     '&ndash'        => '&#8211',     
    '&mdash'        => '&#8212',    '&lsquo'        => '&#8216',    '&rsquo'        => '&#8217',     
    '&sbquo'        => '&#8218',    '&ldquo'        => '&#8220',     '&rdquo'        => '&#8221',    
    '&bdquo'        => '&#8222',    '&dagger'        => '&#8224',    '&Dagger'        => '&#8225',    
    '&permil'        => '&#8240',    '&lsaquo'        => '&#8249',    '&rsaquo'        => '&#8250',
    '&euro'            => '&#8364',    '&fnof'            => '&#402',        '&Alpha'        => '&#913',    
    '&Beta'            => '&#914',        '&Gamma'        => '&#915',        '&Delta'        => '&#916',    
    '&Epsilon'        => '&#917',        '&Zeta'            => '&#918',        '&Eta'            => '&#919',    
    '&Theta'        => '&#920',        '&Iota'            => '&#921',        '&Kappa'        => '&#922',    
    '&Lambda'        => '&#923',        '&Mu'            => '&#924',        '&Nu'            => '&#925',    
    '&Xi'            => '&#926',        '&Omicron'        => '&#927',        '&Pi'            => '&#928',    
    '&Rho'            => '&#929',        '&Sigma'        => '&#931',        '&Tau'            => '&#932',    
    '&Upsilon'        => '&#933',     '&Phi'            => '&#934',        '&Chi'            => '&#935',    
    '&Psi'            => '&#936',        '&Omega'        => '&#937',        '&alpha'        => '&#945',    
    '&beta'            => '&#946',        '&gamma'        => '&#947',        '&delta'        => '&#948',    
    '&epsilon'        => '&#949',        '&zeta'            => '&#950',        '&eta'            => '&#951',    
    '&theta'        => '&#952',        '&iota'            => '&#953',        '&kappa'        => '&#954',    
    '&lambda'        => '&#955',        '&mu'            => '&#956',        '&nu'            => '&#957',    
    '&xi'            => '&#958',        '&omicron'        => '&#959',        '&pi'            => '&#960',    
    '&rho'            => '&#961',        '&sigmaf'        => '&#962',        '&sigma'        => '&#963',    
    '&tau'            => '&#964',        '&upsilon'        => '&#965',     '&phi'            => '&#966',    
    '&chi'            => '&#967',        '&psi'            => '&#968',        '&omega'        => '&#969',    
    '&thetasym'        => '&#977',        '&upsih'        => '&#978',        '&piv'            => '&#982',    
    '&bull'            => '&#8226',    '&hellip'        => '&#8230',    '&prime'        => '&#8242',    
    '&Prime'        => '&#8243',    '&oline'        => '&#8254',     '&frasl'        => '&#8260',    
    '&weierp'        => '&#8472',     '&image'        => '&#8465',     '&real'            => '&#8476',    
    '&trade'        => '&#8482',     '&alefsym'         => '&#8501',     '&larr'            => '&#8592',     
    '&uarr'            => '&#8593',     '&rarr'            => '&#8594',    '&darr'            => '&#8595',     
    '&harr'            => '&#8596',    '&crarr'        => '&#8629',    '&lArr'            => '&#8656',    
    '&uArr'            => '&#8657',     '&rArr'            => '&#8658',     '&dArr'            => '&#8659',     
    '&hArr'            => '&#8660',     '&forall'        => '&#8704',     '&part'            => '&#8706',     
    '&exist'        => '&#8707',     '&empty'        => '&#8709',     '&nabla'        => '&#8711',     
    '&isin'            => '&#8712',     '&notin'        => '&#8713',     '&ni'            => '&#8715',     
    '&prod'            => '&#8719',     '&sum'            => '&#8721',     '&minus'        => '&#8722',     
    '&lowast'        => '&#8727',     '&radic'        => '&#8730',     '&prop'            => '&#8733',     
    '&infin'        => '&#8734',     '&ang'            => '&#8736',     '&and'            => '&#8743',     
    '&or'            => '&#8744',     '&cap'            => '&#8745',     '&cup'            => '&#8746',     
    '&int'            => '&#8747',     '&there4'        => '&#8756',     '&sim'            => '&#8764',     
    '&cong'            => '&#8773',     '&asymp'        => '&#8776',     '&ne'            => '&#8800',     
    '&equiv'        => '&#8801',     '&le'            => '&#8804',     '&ge'            => '&#8805',     
    '&sub'            => '&#8834',     '&sup'            => '&#8835',     '&nsub'            => '&#8836',     
    '&sube'            => '&#8838',     '&supe'            => '&#8839',     '&oplus'        => '&#8853',     
    '&otimes'          => '&#8855',     '&perp'            => '&#8869',     '&sdot'            => '&#8901',     
    '&lceil'        => '&#8968',     '&rceil'        => '&#8969',     '&lfloor'        => '&#8970',     
    '&rfloor'        => '&#8971',     '&lang'            => '&#9001',     '&rang'            => '&#9002',     
    '&loz'            => '&#9674',     '&spades'        => '&#9824',     '&clubs'        => '&#9827',     
    '&hearts'        => '&#9829',     '&diams'        => '&#9830',     
);


?>

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti