0

iframe URLとして保存されたYouTubeビデオのデータベースがあります。私がやりたいことは、いくつかの基本的な置換コマンドを使用して、各ビデオの横に YouTube のサムネイルを表示することです。コンテンツを自動的に検索し、iframe タグを取り除き、id だけの関数を残す関数を php で実行したいと考えています。

3番目のフィールドにコードがあります:

echo $galleryitems[$i][2]

戻るだろう

<iframe width="640" height="360" src="http://www.youtube.com/embed/scYj-bDEaKI?rel=0" frameborder="0" allowfullscreen></iframe>

これを行う他の方法についてはよくわかりません。すべてのコードが同じであるため、コードからこれらの部分を取り除きたいと思います。

<iframe width="640" height="360" src="http://www.youtube.com/embed/

?rel=0" frameborder="0" allowfullscreen></iframe>`

str_replaceで十分だと思いますか?最後に欲しいのは関数です$strLink = scYj-bDEaKI(ビデオIDのみ)

SOを少し調べて、これを試しました:

$galleryitems[$i][2] = preg_replace('/<iframe[^>]*>(.*?)<\/iframe>/', '', $strLink, 1);

echo $strLink;

しかし、何も返しませんでした。目が四角くなりました、助けてくれてありがとう!

4

2 に答える 2

1

PHP RegEx 構文については、次を参照してください。

http://php.net/manual/en/reference.pcre.pattern.syntax.php

$s = '<iframe width="640" height="360" src="http://www.youtube.com/embed/scYj-bDEaKI?rel=0" frameborder="0" allowfullscreen></iframe>';
echo preg_replace('/<iframe.* src="http:\/\/www\.youtube\.com\/embed\/(.*?)\?.*<\/iframe>/', '$1', $s);
于 2013-02-20T14:46:31.397 に答える
0

HTML を RegEx で解析しないでください。

$dom = new DOMDocument();
$dom->loadHTML($html);
$items = $dom->getElementsByTagName('iframe');
if ($items->length) {
    $url = basename(parse_url($items->item(0)->getAttribute('src'), PHP_URL_PATH));
}

コードパッドの

于 2013-02-20T15:01:42.767 に答える