0

此链接的元描述: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”和“He's”中的引用位置

4

1 回答 1

1

该站点对 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 代码参考

于 2011-04-11T02:41:41.297 回答