php
  • regex
  • meta-tags
  • 2011-02-07 5 views 0 likes 
    0

    一部のサイトからメタ記述タグを取得できません。特にyou-tubeです。PHPを使用していくつかのサイトからメタ記述を取得する際に問題が発生する

    私は "get_meta_tags"を使用しようとしましたが、説明を返しません。私もいくつかの正規表現を使用してみました。タイトルは正常に返されます。

    $の説明は空白を返しhttp://www.youtube.com/watch?v=xci0-26M-bk

    $url = 'http://www.youtube.com/watch?v=xci0-26M-bk'; 
    if ($fp = @fopen($url, 'r')) { 
        $file = file($url); 
        $file = implode("", $file); 
        $tags = get_meta_tags($url); 
        $description = trim($tags['description']); 
    } 
    
    ...あなたが直接get_meta_tagsで$ URLを入れていないのはなぜ

    +0

    は、なぜあなただ​​けのユーチューブのURLを投稿することができませんでしたか? – RobertPitt

    +0

    リンクが許可されているかどうかわからなかった – Alex

    +0

    サンプルPHPファイルを作成(貼り付け)して得た出力(および取得する予定)を表示すると、問題の分析が容易になります。 –

    答えて

    0

    は、このリンクからの説明を取得してみては?

    私が行う場合:

    print_r(get_meta_tags('http://www.youtube.com/watch?v=xci0-26M-bk')); 
    

    は私が手:

    Array ([title] => Catfish Blues - Jimi Hendrix Experience [description] => Couldn't ignore Jimi any longer. This is a track recorded for Radio one about 1967. Love the simplicity (seemingly)and the, understated, power. [keywords] => Jimi, Hendrix, sixties) 
    
    +0

    ちょっとブラウザエージェントのために問題が見つかりました。しかし、私はjavascriptを使って説明を渡すのがうまくいかず、私は文字列の終わりに達していないエラーが発生し続ける... pass( "<?echo addslashes($ description)?>"); JSまたはphpが一重引用符を'に変換していて、問題が発生します – Alex

    +0

    YouTubeはこれを変換していません。 – Nabab

    +0

    'を 'に変換できますが、JSに渡すと'に変換されます – Alex

    関連する問題