如何一次向元素添加几个属性?

时间:2013-03-07 14:35:32

标签: php domdocument

目前我有这个代码,但它很慢而且不合逻辑:

$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$hrefs = $dom->getElementsByTagName('a');

$attributes = array('data-role' => 'button', 'data-inline' => 'true', 'data-mini' => 'true', 'data-transition' => 'slide');

foreach($hrefs as $href){
    foreach($attributes as $attribute_name => $attribute_value){
        $attribute = $dom->createAttribute($attribute_name);
        $attribute->value = $attribute_value;

        $href->appendChild($attribute);
    }
}

它也可以用str_replace('<a', '<a data-role="button" data-inline="true" data-mini="true" data-transition="slide" ', $html);完成,它更快(1.0E-5s <0.22s),但我也在某些链接中产生替换,所以我需要将它作为DOM。

0 个答案:

没有答案