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 = 'UTF-8'; /** * 字符串转为HTML实体编号 * @param String $str 字符串 * @param String $encoding 编码 * @return String */ public static function encode($str, $encoding='UTF-8'){ self::$_encoding = $encoding; return preg_replace_callback('|[^\x00-\x7F]+|', array(__CLASS__, '_convertToHtmlEntities'), $str); } /** * HTML实体编号转为字符串 * @param String $str HTML实体编号字符串 * @param String $encoding 编码 * @return String */ public static function decode($str, $encoding='UTF-8'){ 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, 'UCS-2BE', $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 'HtmlEntitie.class.php';$str = '<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>';// 字符串转为HTML实体编号$cstr = HtmlEntitie::encode($str);echo '字符串转为HTML实体编号'.PHP_EOL;echo $cstr.PHP_EOL.PHP_EOL;// HTML实体编号转为字符串echo 'HTML实体编号转为字符串'.PHP_EOL;echo HtmlEntitie::decode($cstr);?>
출력:
字符串转为HTML实体编号<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>HTML实体编号转为字符串<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>
둘 다 아래와 같이 브라우저에 정상적으로 표시될 수 있습니다.
이 문서에서는 PHP의 HTML 엔터티 번호 구현과 비-실행에 대한 관련 지식을 설명합니다. ASCII 문자열 변환 클래스 등 더 자세한 관련 내용은 PHP 중국어 홈페이지를 참고해주세요.
관련 권장사항:
php는 자동 증가된 ID를 기반으로 고유한 숫자 클래스를 생성합니다
을 확인하는 방법에 대한 설명 포인트는 mysql Inside
위 내용은 PHP는 HTML 엔터티 번호와 비ASCII 문자열을 서로 변환하는 클래스를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!