そのため、ウェブページからメタタグを取得して、リンクからビデオ埋め込みの情報を取得するシステムに取り組んでいます (Facebook のように)。
また、ページのタイトルと説明を取得して、いくつかのフィールドを事前入力しています。そして、ここで問題が発生します。説明はテキストエリアであるため使用できます.html()
が、タイトルは入力であるため、.attr()
or.val()
を使用でき、問題は (é à è ä ü) のような特殊文字から発生します。 .
これが私が使用している私のコードです。
これは私の Jquery アクション スクリプトです。
<script type="text/javascript" charset="utf-8">
$(function(){
$("#url").bind("change", function(){
var url = $("#url").val();
$.getJSON("/ajax/embed_video.php", { url: url }, function(json) {
$(json.embed).appendTo("#feeds");
$("#title").attr("value", json.title);
$("#description").html(json.description);
});
});
});
</script>
これは、JSON データをエクスポートするための私の php ファイルです。
$url = $_GET['url'];
$result = getUrlData($url); //this get the metadata from the url
$description = $result['metaTags']['og:description']['value'];
$title = $result['metaTags']['og:title']['value'];
$img_name = basename($result['metaTags']['og:image']['value']);
copy(''.$result['metaTags']['og:image']['value'].'', "../".$path_video_temp.$img_name);
$embed = " "; //EMBED CODE
$data = array('title' => $title,'description' => $description, 'embed' => $embed, 'img' => '/'.$path_video_temp.$img_name);
header('Content-Type: application/json; Charset=UTF-8');
echo json_encode($data);
アクセントや特殊文字を含むタイトルがあると、それが出力されé
ます。
使ってみhtml_entity_decode
たり、htmlspecialchars_decode
どこに問題があるのか 誰かが考えてくれることを願っています。
お時間をいただきありがとうございます。よい一日を
ヨリス