str_replace() html 实体字符


str_replace() html entities characters

我创建此脚本以仅转换字符(而不是符号)。

基本上,我创建了两个数组:

第一个:

$decode = array("À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ý","þ","ÿ");

第二个(实体):

$entities = array("À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ý","þ","ÿ");

并替换为str_replace($entities, $decode, $string).

显然它应该有效,但例如这个字符串。

$string= "è ò à ç ù § ° *é";

返回

è ò à ç ù § ° *é

我不明白为什么它不起作用,有什么想法吗?

试试这个: str_replace($decode, $entities, $string);

很奇怪。 当我运行您的代码时,我得到此输出。

è ò à ç ù § ° *é

告诉我更多关于你的设置,例如你正在测试的PHP版本,Web服务器(Apache?)和版本,以及你在哪里测试输出,例如命令行或浏览器(哪个浏览器?)。