Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP替换特殊字符_Php_Xml - Fatal编程技术网

PHP替换特殊字符

PHP替换特殊字符,php,xml,Php,Xml,我正在运行下面的脚本,它从XML提要获取player的值。如果我以这种方式运行代码,它将用e替换é $player = "Toré"; echo "Player Before: $player <br />"; $playerafter = strtr($player, $normalizeChars);

我正在运行下面的脚本,它从XML提要获取player的值。如果我以这种方式运行代码,它将用e替换é

                        $player = "Toré";
                        echo "Player Before: $player <br />";
                        $playerafter = strtr($player, $normalizeChars);
                        echo "Player After: $playerafter <br />";

强制xml为字符串

$player = (string)$event->player;

那么问题是什么呢?您遇到了什么问题?$player=$event->player;将只在其中存储:Array->player,而不是数组/对象中的值。如果我使用不带引号的版本,它仍然不起作用它会给你什么输出?echo player之前有什么:$player;显示?$event->player是一个字符串。
    $normalizeChars = array( 
        'Á'=>'A', 'À'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Å'=>'A', 'Ä'=>'A', 'Æ'=>'AE', 'Ç'=>'C', 
        'É'=>'E', 'È'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Í'=>'I', 'Ì'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ð'=>'Eth', 
        'Ñ'=>'N', 'Ó'=>'O', 'Ò'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 
        'Ú'=>'U', 'Ù'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 

        'á'=>'a', 'à'=>'a', 'â'=>'a', 'ã'=>'a', 'å'=>'a', 'ä'=>'a', 'æ'=>'ae', 'ç'=>'c', 
        'é'=>'e', 'è'=>'e', 'ê'=>'e', 'ë'=>'e', 'í'=>'i', 'ì'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'eth', 
        'ñ'=>'n', 'ó'=>'o', 'ò'=>'o', 'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 
        'ú'=>'u', 'ù'=>'u', 'û'=>'u', 'ü'=>'u', 'ý'=>'y', 

        'ß'=>'sz', 'þ'=>'thorn', 'ÿ'=>'y' 
    ); 
$player = (string)$event->player;