2013-07-03 2 views
0

페르시아어 또는 아랍어 언어 PHP에서 URLDECODE :를 urlencode, 나는이 같은 사이트의 RSS에서 뉴스의 카테고리를 얻을 수

$rss = new DOMDocument(); 
$rss->load('http://isna.ir/fa/Sports/feed'); 
$feed = array(); 
foreach ($rss->getElementsByTagName('item') as $node) { 
    $item = array (
     'category' => $node->getElementsByTagName('category')->item(0)->nodeValue, 
     ); 
    array_push($feed, $item); 
} 

$category = $feed[0]['category']; 

지금 나는이 같은 각 카테고리에 번호를 속성에 기능을 사용하려면 :

function category_selector($str){ 
    switch ($str) { 
     case 'فوتبال، فوتسال': 
      return '1'; 
      break; 
     case 'كشتي، رزمي': 
      return '2'; 
      break; 
     case 'جهان ورزش': 
      return '3'; 
      break; 
     case 'توپ و تور': 
      return '4'; 
      break; 
     case 'ورزش بانوان': 
      return '5'; 
      break; 
     case 'علم ورزش': 
      return '6'; 
      break; 
     case 'نهادهاي ورزشي و ساير': 
      return '7'; 
      break; 
     default: 
      return '0'; 
      break; 
    } 
} 

그러나 category_selector ($ 범주) 뉴스의 모든 0을 반환! urlencode와 함께 함수를 사용하지만 아무 것도 변경하지 않았습니다. 내가 이해

+0

인코딩을 확인하십시오. UTF8에 모든 것이 있습니까? – OptimusCrime

+0

물론 코드의 맨 앞에'header ('Content-Type : text/html; charset = utf-8');를 사용합니다. –

+0

로드하는 RSS는 무엇입니까? – OptimusCrime

답변

0

는, 단순히 내가 city classifieds 웹 사이트에서 사용하고 switch($str) 라인

mb_internal_encoding("utf-8"); 

전에 다음 줄을 패치, 나는 순간에 문제가 없습니다. 스크립트가이

function category_selector($str){ 
mb_internal_encoding("utf-8"); 
switch ($str) { 
    case 'فوتبال، فوتسال': 
     return '1'; 
     break; ... 

처럼해야

예 나는 그것이 작동합니다 생각합니다.