Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander

PHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander

jacklove
jackloveOriginal
2018-06-08 23:08:272285Durchsuche

HTML-Entitätssymbole werden verwendet, um reservierte Zeichen zu implementieren oder einige gängige Zeichen auszudrücken, die nicht über die Tastatur eingegeben werden können. Der Standardzeichensatz in den meisten Browsern ist ISO-8859-1. HTML-Entitätssymbole werden häufig im Webdesign verwendet.

Zum Beispiel:

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

Aus beruflichen Gründen habe ich eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings geschrieben. Der Code lautet wie folgt:

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?>

demo.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 implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander" ></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);?>

Ausgabe:

字符串转为HTML实体编号<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img  alt="PHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander" ></p><p>您的支持是我最大的动力,谢谢!</p>HTML实体编号转为字符串<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img  alt="PHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander" ></p><p>您的支持是我最大的动力,谢谢!</p>


Beide können normal im Browser angezeigt werden, wie unten gezeigt:

PHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander

Dieser Artikel erklärt, wie man HTML-Entitätsnummern umwandelt und Nicht-ASCII-Zeichenfolgen in PHP. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:
php erstellt eine eindeutige Zahlenklasse basierend auf der automatisch inkrementierten ID

Über MySQL Sehen Sie sich die aktuell verwendete Konfiguration an Datei my.cnf Die Methode erklärt

Wie man mit MySQL ermittelt, ob sich ein Punkt innerhalb eines angegebenen Polygonbereichs befindet

Das obige ist der detaillierte Inhalt vonPHP implementiert eine Klasse zum Konvertieren von HTML-Entitätsnummern und Nicht-ASCII-Strings ineinander. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn