0

使用されている iframe がいくつかあり、ほとんどが youtube であるため、すべての youtube 埋め込みのみの幅と高さを調整する方法

<iframe width="420" height="315" frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/xbGv2T456dfg3">

このコードはワードプレスの投稿に埋め込まれています。すべての iframe ではなく、YouTube の iframe のみの幅と高さを調整したいのですが、手動で調整できますが、多くのビデオになると時間がかかります。

たとえば、すべての YouTube iframe は 560x316 になり、他のすべての iframe はデフォルトのサイズになります。

それはphpで行うことができますか?すみません、私は新しいです

4

3 に答える 3

3

次のように、Youtube iframe を検索して置換する関数を呼び出す、テーマの関数 PHP でthe_contentに新しいフィルターを作成できます。

function my_youtube_resizer($content) {
   $dom=new DOMDocument();
   $dom->loadHTML($content);
   $iframess = $dom->getElementsByTagName("iframe");       
   foreach ($iframes as $iframe) {
     $src = $iframe->getAttribute('src');
     if (strpos('youtube.com', $src)) {  //You may have to also deal with the short URL youtu.be
        $iframe->setAttribute('width', '560');
        $iframe->setAttribute('height', '316');
     }
   }
   $content = $dom->saveHTML();
   return $content;
 }

これらの iframe リンク (Jetpack など) を作成するために別のプラグインを使用している場合は、フィルターの優先度が低いことを確認してください。

于 2013-01-22T02:47:58.233 に答える
2

css 属性セレクターを試しyoutube.comて、src 属性でiframe を選択できます。

iframe[src*="youtube.com"], 
iframe[src*="youtu.be"] {
    width: 560px !important;
    height: 316px !important;
}
于 2013-01-22T02:44:25.750 に答える
0

助けてくれてありがとう

私はちょうどjqueryを試してみましたが、うまくいきました

    $(document).ready(function(){
    $('iframe[src*="youtube.com"]').css({"width":"560px","height":"316px"});
    });
于 2013-01-22T03:03:01.170 に答える