2015-01-09 34 views
-1

在我的新Wordpress主题中,我将使用一个lazyload库,该库需要使用data-src属性而不是src。由于我想保留旧内容,我想用Wordpress函数替换属性。忽略属性顺序的替换模式是什么?限于imgiframe标签?替换特定标记内的属性名称

+0

可以在延迟加载之前使用jquery吗? – Buck3y3 2015-01-09 20:59:18

+0

我宁愿使用Wordpress的功能来替换属性,这就是为什么我要寻找一个PHP解决方案 – idleberg 2015-01-09 21:00:40

+0

哦,然后可能标记或说wordpress,因为没有人会有任何线索,这与wordpress有什么关系。 – Buck3y3 2015-01-09 21:03:54

回答

1

使用解析器,这比在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(); 
相关问题