>  기사  >  백엔드 개발  >  PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다.

PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다.

jacklove
jacklove원래의
2018-06-08 23:08:272352검색

HTML 엔터티 기호는 예약된 문자를 구현하거나 키보드로 입력할 수 없는 일부 공통 문자를 표현하는 데 사용됩니다. 대부분의 브라우저의 기본 문자 집합은 ISO-8859-1입니다. HTML 엔터티 기호는 웹 디자인에 자주 사용됩니다.

예:

字符 实体名称 实体编号  描述
&   &   &   and符号,与
"   "  "   引号
©   ©  ©  版权标志
®   ®   »  注册标志
™   ™ ™  商标标志
“   “ “  左双引号
”   ” ”  右双引号
‘   ‘ ‘  做单引号
’   ’ ’  右单引号

작업 요구로 인해 HTML 엔터티 숫자와 ASCII가 아닌 문자열을 변환하는 클래스를 작성했습니다. 코드는 다음과 같습니다.

HtmlEntitie.class.php

<?php/**
 *  HTML实体编号与非ASCII字符串相互转换类
 *  Date:   2016-09-07
 *  Author: fdipzone
 *  Ver:    1.0
 *
 *  Func:
 *  public  encode 字符串转为HTML实体编号
 *  public  decode HTML实体编号转为字符串
 *  private _convertToHtmlEntities 转换为HTML实体编号处理
 */class HtmlEntitie{ // class start
    public static $_encoding = &#39;UTF-8&#39;;    /**
     * 字符串转为HTML实体编号
     * @param  String $str      字符串
     * @param  String $encoding 编码
     * @return String
     */
    public static function encode($str, $encoding=&#39;UTF-8&#39;){
        self::$_encoding = $encoding;        return preg_replace_callback(&#39;|[^\x00-\x7F]+|&#39;, array(__CLASS__, &#39;_convertToHtmlEntities&#39;), $str);
    }    /**
     * HTML实体编号转为字符串
     * @param  String $str      HTML实体编号字符串
     * @param  String $encoding 编码
     * @return String
     */
    public static function decode($str, $encoding=&#39;UTF-8&#39;){
        return html_entity_decode($str, null, $encoding);
    }    /**
     * 转换为HTML实体编号处理
     * @param Mixed  $data 待处理的数据
     * @param String
     */
    private static function _convertToHtmlEntities($data){
        if(is_array($data)){            $chars = str_split(iconv(self::$_encoding, &#39;UCS-2BE&#39;, $data[0]), 2);            $chars = array_map(array(__CLASS__, __FUNCTION__), $chars);            return implode("", $chars);
        }else{            $code = hexdec(sprintf("%02s%02s;", dechex(ord($data {0})), dechex(ord($data {1})) ));            return sprintf("&#%s;", $code);
        }
    }
} // class end?>

deco.php

<?phprequire &#39;HtmlEntitie.class.php&#39;;$str = &#39;<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img  border="0" src="https://img-blog.csdn.net/20141224160911852"    style="max-width:90%"  style="max-width:90%" title="破晓领域" alt="PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다." ></p><p>您的支持是我最大的动力,谢谢!</p>&#39;;// 字符串转为HTML实体编号$cstr = HtmlEntitie::encode($str);echo &#39;字符串转为HTML实体编号&#39;.PHP_EOL;echo $cstr.PHP_EOL.PHP_EOL;// HTML实体编号转为字符串echo &#39;HTML实体编号转为字符串&#39;.PHP_EOL;echo HtmlEntitie::decode($cstr);?>

출력:

字符串转为HTML实体编号<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img  alt="PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다." ></p><p>您的支持是我最大的动力,谢谢!</p>HTML实体编号转为字符串<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img  alt="PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다." ></p><p>您的支持是我最大的动力,谢谢!</p>


둘 다 아래와 같이 브라우저에 정상적으로 표시될 수 있습니다.

PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다.

이 문서에서는 PHP의 HTML 엔터티 번호 구현과 비-실행에 대한 관련 지식을 설명합니다. ASCII 문자열 변환 클래스 등 더 자세한 관련 내용은 PHP 중국어 홈페이지를 참고해주세요.

관련 권장사항:
php는 자동 증가된 ID를 기반으로 고유한 숫자 클래스를 생성합니다

mysql 정보 현재 사용되는 구성 파일 my.cnf

을 확인하는 방법에 대한 설명 포인트는 mysql Inside

를 통해 지정된 폴리곤 영역에 있습니다.

위 내용은 PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.