元数据不解码PHP

时间:2011-04-11 02:31:58

标签: php encoding meta-tags decoding utf

此链接的元描述:http://www.mercurynews.com/samesexmarriage/ci_17794445?source=most_viewed&nclick_check=1

返回一个奇怪的字符而不是引用。

The federal judge who struck down Californias gay marriage ban has confirmed that hes gay. Chief U.

我正在使用strip_tags(html_entity_decode(htmlspecialchars_decode($description, ENT_NOQUOTES), ENT_NOQUOTES, "UTF-8"));

怎么办?奇怪的角色出现在“加利福尼亚”和“他的”这个词的引号中。

1 个答案:

答案 0 :(得分:1)

该网站错误地编码HTML实体。源中的那些撇号应编码为' - 撇号的十六进制数实体(十进制数39)。它们使用,这是ASCII“Escape”字符的十进制数字实体。

您可以通过添加str_replace电话轻松覆盖他们的错误:

$description = str_replace('', "'", $description);
$description = strip_tags(html_entity_decode(htmlspecialchars_decode($description, ENT_NOQUOTES), ENT_NOQUOTES, "UTF-8"));

Reference for ASCII codes