2012-03-10 30 views
0

リモートテキストを取得するために* file_get_contents *を使用しています。テキストには、左/右の二重引用符で囲まれたテキスト(“Green Slime”など)が含まれています。php文字列から邪悪な文字を取り除く方法

* file_get_contents *は、このテキストを�Green Slime�として返します。

リモートソースを見ると、“”文字はエンティティコードではなくリテラルです。ソースには文字セット定義はありません。

これを修正するために* file_get_contents *に追加できるコンテキストはありますか?そうでない場合は、どうすればこれらの文字をstr_replace *できますか?

EDIT:htmlentities()やstr_replace()などの明白な解決策は機能しません。また、cURLを使用しているときに同じ文字が返されます。

+0

htmlentitiesはどうですか?私はわかりません。あなたはそれを試しましたか? – Voooza

答えて

0

ord()を使用して、これらの文字がchr(147)およびchr(148)であることを確認してからstr_replace(Chr(147), "&#147", $str)を使用しました。

file_get_contentsとcurlの両方がブラウザで表示できない方法でこのコンテンツを返す理由がわかりません。

0

すぐheadタグの下にこれを置く:utf8_decode /エンコード機能に

<meta charset="utf-8"> 
+0

あなたはアシスタントがファイルに対する*制御権を持っていると仮定しています... –

+0

私は既に私のページにそれを持っています。リモートページを変更できません。 – user191688

+1

文字列置換えを使用して、そのかっこを他の文字列に置き換えることができます。$ s = str_replace( '"、'"、$ s); echo $ s; – sm13294

-1

はルック

+0

UTF-8は –

関連する問題