2012-09-05 6 views
1

아래 스크립트를 실행 중이며 XML 피드에서 플레이어의 값을 가져옵니다. 나는 코드가 전자와 전자를 대체 이런 식으로,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