3

そのため、ウェブページからメタタグを取得して、リンクからビデオ埋め込みの情報を取得するシステムに取り組んでいます (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);

アクセントや特殊文字を含むタイトルがあると、それが出力され&eacute;ます。

使ってみhtml_entity_decodeたり、htmlspecialchars_decode

どこに問題があるのか​​ 誰かが考えてくれることを願っています。

お時間をいただきありがとうございます。よい一日を

ヨリス

4

1 に答える 1

1

Ajaxリクエストでgetjsonとは対照的に、Ajaxリクエストを使用してデータを取得してみることができます。取得するデータの文字エンコードを指定できます。Ajaxとgetjsonの比較を次に示します。

http://api.jquery.com/jQuery.getJSON/

そして、これがAjaxのセットアップ方法です

http://api.jquery.com/jQuery.ajax/

このメソッドに関する注意点は、jsonリクエストは非同期ではないため、Ajaxではasyncをfalseに設定することです。

- -編集 - -

文字セットを設定するお詫びはjsonpでのみ使用できます代わりにそれを使用できますか?

---編集2---

このフォーラムの投稿は役に立ちましたか?

jQueryを使用してHTMLエンティティをデコードする方法は?

お役に立てれば !!

于 2012-05-18T00:56:46.157 に答える