2012-09-05 273 views
1

我正在运行下面的脚本,它从XML Feed中获取播放器的值。如果我以这种方式运行它取代了由E的E里的代码,PHP替换特殊字符

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

但是,如果我用XML运行订阅它不会改变

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

那么问题是什么?你有什么问题? –

+0

'$ player =“$ event-> player”;'只会存储:'Array-> player',而不是数组/对象中的值。 – hjpotter92

+0

如果我使用未加引号的版本,它仍然不起作用 – Somk

回答

-2

将xml强制转换为字符串。

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

'“$ event-> player”'**是一个字符串。 – Tchoupi