@Shimpanze

PHP DomDocument: как добавить узлу, узел атрибута первым?

Есть узел:
<p data-attr-1="foo" data-attr-2="bar" >

Есть созданный узел атрибута:
$class_attr_node = $dom->createAttribute( 'class' );


Как добавить этот созданный узел $class_attr_node первым атрибутом, чтобы получилось так:
<p  class="some-class"  data-attr-1="foo"  data-attr-2="bar"  >


Я пробовал так:
$node->attributes->prepend( $class_attr_node );
не работает.
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
@krypt3r
$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$paragraphs = $xpath->query('/html/body/p');
foreach ($paragraphs as $paragraph) {
    $attributes = $paragraph->attributes;
    $first = $attributes->item(0);
    $new_attr = $dom->createAttribute('class');
    $new_attr->value = 'some-class';
    $paragraph->insertBefore($new_attr, $first);
}
var_dump($dom->saveHTML());
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы