php html实体字符的转换
php那几个函数都试过了,不行呀。
回复讨论(解决方案)
不知道你是如何做的
先给你 php 支持的 HTML 实体列表
foreach(get_html_translation_table(HTML_ENTITIES) as $k=>$v) {
echo ord($k) . ' => ' . $v . PHP_EOL;
}
然后你自己看着办
同意楼上
看样子是支持这个符号的,弱弱的问,应该用哪个函数转换?
不知道你是如何做的
先给你 php 支持的 HTML 实体列表
foreach(get_html_translation_table(HTML_ENTITIES) as $k=>$v) {
echo ord($k) . ' => ' . $v . PHP_EOL;
}
然后你自己看着办
echo mb_convert_encoding("é", "UTF-8", "HTML-ENTITIES"); //é
很好,那请问下,如果一篇文章有很多这样的字符需要转换呢?总不能一个一个换吧,有无更加简单的方法?
PHP code
echo mb_convert_encoding("é", "UTF-8", "HTML-ENTITIES");
//é
难道要这样吗?
foreach(get_html_translation_table(HTML_ENTITIES) as $k=>$v) {
$str = str_replace($v, mb_convert_encoding($v, "GBK", "HTML-ENTITIES"), $str);
}
很好,那请问下,如果一篇文章有很多这样的字符需要转换呢?总不能一个一个换吧,有无更加简单的方法?引用 4 楼 的回复:
PHP code
echo mb_convert_encoding("é", "UTF-8", "HTML-ENTITIES");
//é
html_entity_decode
$text = mb_convert_encoding($text, "UTF-8", "HTML-ENTITIES");
还是你牛。解决困扰我许久的问题。今晚可以睡着了。
$text = mb_convert_encoding($text, "UTF-8", "HTML-ENTITIES");
还是有问题啊,那些字符是转干净了。但是空格之类的普通字符就不行了。
比如
$str = '班别 “√”';
$str = mb_convert_encoding($str, "GBK", "HTML-ENTITIES");
echo $str;
$text = mb_convert_encoding($text, "UTF-8", "HTML-ENTITIES");
html_entity_decode('é');