リモートURLからメタディスクリプションを取得しています。URLに「£」が含まれていると、Firefoxに疑問符が付いた黒いひし形として返されます。文字列にutf8_encodeを適用すると、本来どおり「£」が返されますが、他のUTF文字は正しく表示されません。私に何ができる?
1 に答える
0
ページにコンテンツタイプのメタタグを設定しましたか?
http://www.w3schools.com/tags/att_meta_http_equiv.asp
編集:
あなたがあなたのコメントに入れたものを解決するために、私はこのようなことをするかもしれません(超迅速で汚い):
<?php
$ch = curl_init('http://www.dailymail.co.uk/health/article-1374575/Under-18s-sunbed-ban-cut-skin-cancer-toll.html');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
preg_match('/(<meta[^\n]+)(name=\"description\"[^\n])(content=\")([^\n]+)(\")/', $data, $m);
echo urlencode($m[4]);
?>
そうは言っても、これを行う正しい方法は、によって返されたHTMLを解析しcurl_exec
、適切なノード(with)を見つけて、属性のd値をname="description"
返すことです。urlencode
content
于 2011-04-15T23:57:54.047 に答える