Home  >  Article  >  php教程  >  PHP将字符串转为HTML实体引用

PHP将字符串转为HTML实体引用

WBOY
WBOYOriginal
2016-06-13 10:47:06967browse

class HtmlEncode { 
    static $_convertToHtmlEntitiesSrcEncoding='UTF-8'; 
 
    /**
     * 将非ASCII字符串转换成HTML实体
     *
     * @example HtmlEncode::encode("我信了"); //输出:我信了
     * @param string $s 要进行编码的字符串
     * @return string 返回HTML实体引用 www.2cto.com
     */ 
    public static function encode($s,$srcEncoding='UTF-8') { 
        self::$_convertToHtmlEntitiesSrcEncoding=$srcEncoding; 
        return preg_replace_callback('|[^\x00-\x7F]+|',array(__CLASS__,'_convertToHtmlEntities'),$s); 
    } 
 
    public static function _convertToHtmlEntities($data) { 
        if (is_array($data)) { 
            $chars=str_split(iconv(self::$_convertToHtmlEntitiesSrcEncoding,"UCS-2BE",$data[0]),2); 
            $chars=array_map(array(__CLASS__,__FUNCTION__),$chars); 
            return join("",$chars); 
        } else { 
            $code=hexdec(sprintf("%02s%02s;",dechex(ord($data {0})),dechex(ord($data {1})))); 
            return sprintf("%s;",$code); 
        } 
    } 
 
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn