我正在从远程网址获取元描述,当网址包含“£”时,它会在 Firefox 中以带有问号的黑色菱形返回。当我在字符串上应用 utf8_encode 时,它会返回“£”,但是其他 UTF 字符将无法正确显示。我能做些什么?
问问题
554 次
1 回答
0
您是否在页面上设置了内容类型元标记?
http://www.w3schools.com/tags/att_meta_http_equiv.asp
编辑:
为了解决您在评论中提出的问题,我可能会做这样的事情(超级快速和肮脏):
<?php
$ch = curl_init('http://www.dailymail.co.uk/health/article-1374575/Under-18s-sunbed-ban-cut-skin-cancer-toll.html');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
preg_match('/(<meta[^\n]+)(name=\"description\"[^\n])(content=\")([^\n]+)(\")/', $data, $m);
echo urlencode($m[4]);
?>
话虽如此,这样做的正确curl_exec
方法是解析由返回的HTML ,找到适当的节点(带有name="description"
)并返回属性的urlencode
d值content
于 2011-04-15T23:57:54.047 回答