我有这个awstat文件列出国家/地区代码以及访问和点击次数:
# Domain - Pages - Hits - Bandwidth
BEGIN_DOMAIN 1
ua 245 245 970690
us 90 647 10311747
cn 27 27 106974
ru 25 26 99953
gb 12 82 1155179
fr 7 7 41230
kr 4 4 15848
de 4 15 211641
in 3 15 234340
ph 2 2 7924
lv 2 2 0
ro 2 2 13856
il 1 1 3962
dk 1 1 3962
vn 1 1 3962
nl 1 1 3962
lt 1 1 3962
ca 0 1 20264
END_DOMAIN
我正在尝试将其提取并按国家/地区的网页显示来显示,所以我尝试了这个:
preg_match("/BEGIN_DOMAIN(.*)END_DOMAIN/is", $awstats, $matches);
$country = $matches[0] ;
awstats_extract_country($country) ;
调用函数awstats_extract_country($country)
:
function awstats_extract_country($country)
{
$country = explode("\n", $country) ;
unset($country[(count($country)-1)]) ;
unset($country[0]) ;
foreach ($country as $key => $value)
$country[$key] = explode(" ", $value) ;
//print_array($sider);
$fields = array(
0 => "Country" ,
1 => "Pages" ,
2 => "Hits" ,
3 => "Bandwidth" ,
) ;
echo '<div id="collapse_awstats_extract_sider" class="accordion-body collapse in">';
echo '<div class="accordion-inner">';
print_table($country, $fields);
echo '</div>';
echo '</div>';
}
但它显示我的国家缩写就像在文件中有一种方式我可以用国家名称显示它们,我的意思是ua
==&gt; UKRAINE
等等,就像这里http://www.iso.org/iso/fr/french_country_names_and_code_elements.htm
非常感谢
答案 0 :(得分:2)
AFAIK没有内置函数可以将2个字母的国家/地区代码转换为国家/地区名称,因此您必须创建一个查找表(使用数组或数据库),如this question in stackoverflow