[WordPress] 特定のタグ内の属性名を置き換える

スポンサーリンク

Question

私の新しいワードプレス テーマの私使用する必要があります lazyload ライブラリ

src

の代わりに

data-src

属性を使用するつもりです。として、古いコンテンツを保持したいので-は、ワードプレスの機能を使用して属性を交換したいと思います。置換パターンと

img

に制限され、

iframe

タグの属性の順序を無視したものだろうか?

答え

パーサーを使用して、これは html に正規表現を使用するよりも安全です

    $doc = new DOMDocument(1.0, 'utf-8');
    $doc->loadHTML("html string........"); //replace with your html string
    $iframes = $doc->getElementsByTagName("iframe");
    $imgs = $doc->getElementsByTagName("img");

    foreach($iframes as $iframe)
    {
        $iframe->setAttribute("data-src", $iframe->getAttribute("src") );
        $iframe->removeAttribute("src"); // optional, delete if not wanted.
    }

    foreach($imgs as $img)
    {
        $img->setAttribute("data-src", $img->getAttribute("src") );
        $img->removeAttribute("src"); // optional, delete if not wanted.
    }

    $editedHTML = $doc.saveHTML();

http://stackoverflow.com/questions/27869096/replace-attribute-name-inside-specific-tags

スポンサーリンク

Leave a Reply