目前我有这个代码,但它很慢而且不合逻辑:
$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。