我从这样的网站的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($ category)为所有新闻返回0! 我也使用urlencode函数,但它没有改变任何东西。
答案 0 :(得分:0)
我理解,只需在switch($str)
行
mb_internal_encoding("utf-8");
我在city classifieds网站上使用,目前我没有问题。
您的脚本应该是这样的示例
function category_selector($str){
mb_internal_encoding("utf-8");
switch ($str) {
case 'فوتبال، فوتسال':
return '1';
break; ...
我相信它应该有用。