元数据不解码PHP


meta data not decoding PHP

此链接的元描述: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"));

什么?这个奇怪的字符出现在"California’s"answers"He’s"这两个单词的引号处

网站的HTML实体编码不正确。源中的这些撇号应该编码为' -撇号的十六进制数字实体(十进制数39)。他们正在使用,这是ASCII"转义"字符的十进制数字实体。

你可以很容易地通过添加str_replace调用来掩盖他们的错误:

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

ASCII码参考