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;
}
然後你自己看著辦
echomb_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('é');