0

ここでは、Web ページを解析してコンテンツを取得しようとしています。http://www.reuters.com/finance/stocks/companyOfficers?symbol=AOS

これは、添付のサンプル結果とともに解析を行う私のコードです。

サンプルの結果配列を見ると、説明フィールドに無効な形式の詳細がほとんどありません。元の「説明」には Web ページに (“Bemis”) が含まれていますが、解析結果では (├ó┬Ç┬£Bemis├ó┬Ç┬¥) と表示されます (サンプル結果の説明フィールドを参照)。URLのページソースを確認し、「Bemis」で検索してみてください。何が原因でしょうか..どうすれば解決できますか? 私も試しました

$html_source = str_replace('“','"',$html_source); 
$html_source = str_replace('”','"',$html_source); 

しかし、正しく取得できませんでした..正しい解析結果が得られるようにコードを変更してください。

4

1 に答える 1

1

あなたのコードの5行目の後にこれを追加することは私のために働きました:

// First, replace UTF-8 characters.
$html_source = str_replace(
 array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
 array("'", "'", '"', '"', '-', '--', '...'),
 $html_source);

// Next, replace their Windows-1252 equivalents.
$html_source = str_replace(
 array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
 array("'", "'", '"', '"', '-', '--', '...'),
 $html_source);

このSOスレッドの@Wolfeに感謝します:悪魔のような巻き毛の引用

于 2012-08-26T18:29:46.280 に答える