2016-12-15 16 views
0

私は以下のGoogle提案のクエリを使用しています。この出力には特殊文字やその他の言語文字が含まれています。xml simplexml_load_fileは特殊文字やその他の言語文字を解析していません

foreach ($xml->children() as $child) { 
foreach ($child->suggestion->attributes() as $dta) { 
echo "<br>"; 
echo $dta; 
} 
} 

出力がある

<toplevel> 
<CompleteSuggestion> 
<suggestion data="facebook en español"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook emojis"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook event photo size"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook emoticons"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook email"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook events"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook earnings"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook earnings date"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook email address"/> 
</CompleteSuggestion> 
<CompleteSuggestion> 
<suggestion data="facebook event banner size"/> 
</CompleteSuggestion> 
</toplevel> 

私はエラーを取得しています。このXMLファイルのforeachをロードするためのコードの下に使用して...

http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=facebook+e 

それは、xml形式の出力の下になります...エラーメッセージ以下になる...

Warning: simplexml_load_file(): 
http://suggestqueries.google.com/complete/search? 
output=toolbar&hl=en&q=facebook.'%20'.e:1: parser error : Input is not 
proper UTF-8, indicate encoding ! Bytes: 0xF1 0x6F 0x6C 0x22 in 

Warning: simplexml_load_file(): es"/></CompleteSuggestion> 
<CompleteSuggestion><suggestion data="facebook en espa in 

答えて

0

あなたはそれを解析しようとする前に、UTF-8でGoogleの提案のクエリの応答をエンコードする必要があります。

$encodedResponse = utf8_encode(file_get_contents('http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=facebook+e')); 
$xml = simplexml_load_string($encodedResponse); 
+0

こんにちはアルノー、ありがとうございます。 –

+0

よろしくお願いいたします。私は私の答えをアップアップするように頼むことができますか?ありがとう。 –

関連する問題