2015-02-11 84 views
1

我有一个有很多html实体的文件。我需要将html实体转换为十六进制实体。如何将html实体转换为php中的十六进制实体?

例子:&&

是否有HTML的十六进制实体转换的任何功能?如果不是,哪种方式是实现这一目标的有效和最快的方法?

+0

也许这个问题有帮助: http://stackoverflow.com/questions/7482977/get-hexcode-of-html-entities – Catshinski 2015-02-11 14:38:48

回答

0

首先,“十六进制实体”是具有以Unicode码点表示的字符的实体。所有Unicode字符都可以用Unicode代码表示为实体;在HTML中,一些可以用一个名字来表示,而不是。

在HTML实体,其有一个预定义的名字的名单很长:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML

如果您有在HTML实体使用简写名称已经转换后的文本,那么你唯一的选择就是做一个搜索和替换。不用说,这可能是相当计算量的。该代码是这样:

<?php 
$str = 'Hello &amp; world! &quot;'; 

$find = ['&amp;', '&quot;']; //.. Complete the table with the entire list 
$replace = ['&#x00026;', '&#x00022;']; // ... Complete this list too 
$str = str_replace($find, $replace, $str); 
echo $str; 
?> 

然而,这可以很慢

相关问题