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 エンティティを正しくエンコードしていません。ソース内のこれらのアポストロフィは、アポストロフィ'の 16 進数エンティティ (10 進数 39) としてエンコードする必要があります。彼らは、ASCII「エスケープ」文字の10進数エンティティである を使用しています。

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 に答える