PHP替换特殊字符

时间:2012-09-05 18:00:52

标签: php xml

我正在运行以下脚本,它从XML Feed获取播放器的值。如果我以这种方式运行代码,它会用e替换é,

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

但是,如果我使用XML Feed运行它,它就不会改变

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

这是变量$ normalizeChars

    $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' 
    ); 

1 个答案:

答案 0 :(得分:-2)

强制xml为字符串。

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