Home  >  Article  >  Backend Development  >  php html实体字符的转换

php html实体字符的转换

WBOY
WBOYOriginal
2016-06-23 13:50:12941browse

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('é');

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn