>  기사  >  백엔드 개발  >  php html实体字符的转换

php html实体字符的转换

WBOY
WBOY원래의
2016-06-23 13:50:12941검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.