2

YouTube が提供する YouTube 埋め込みコードを正規表現を使用して有効な FBML コードに変換するには、つまりfb:swfタグを使用するにはどうすればよいですか?

これまでのところ、私が思いついた正規表現は次のとおりです。

preg_replace('/<object(.*)<\/object>/i', "Whatever I need here...", $str);

私はそれが不自由であることを知っていますが、それは私の最初の試みです.

PS: YouTube 埋め込みコードのサンプル、

<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/NWHfY_lvKIQ&hl=en_GB&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NWHfY_lvKIQ&hl=en_GB&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
4

2 に答える 2

0

私は先日これをしなければなりませんでした。これは、文字列/入力でクリップIDを取得し、それらを配列に入れるために私が書いた関数です(埋め込みオブジェクトに挿入できます):

preg_match_all('/\/vi?\/([A-Za-z0-9\+_-]+)/i', $str_containing_yt_ids, $yt_ids);

それから

print_r($yt_ids);

動的にタイトルを取得する必要がある場合:

function get_yt_title($clip_id){
    $feedURL = 'http://gdata.youtube.com/feeds/api/videos/' . $clip_id;
    $entry = simplexml_load_file($feedURL);
    $video= new stdClass;
    $media = $entry->children('http://search.yahoo.com/mrss/');
    $video->title = ucwords(strtolower($media->group->title));
    return $video->title;
}
于 2010-03-10T12:31:15.347 に答える
-2

私が理解している限りでは、埋め込まれたコードから動画の URL を収集し、自分のやりたいことをして、それを使って何でも手に入れたいと考えています。

埋め込みコード全体 (ソースと値) に 2 つの URL しかなく、(少なくとも YouTube ではなく) URL に引用符がないと仮定すると、URL を取得するために使用する正規表現は次のようになります。

[^(src=")]http.*[^"]

説明: http'src="' が前にないものは、引用符があるまで取得されます。

于 2010-03-10T12:34:02.480 に答える