получить все теги заголовков из php simple html dom

Я использую простой html dom для очистки и хотел бы знать, есть ли способ получить коллекцию всех тегов H за один раз - это H1 H2 H3 и т.д.

Что-то порядка

$HTags = $html->find("h*");

Тогда мне также нужно было бы точно знать, какой это тег - <H1> <H2> и т. Д.

Любая помощь приветствуется


person Andrew Fielden    schedule 22.05.2012    source источник


Ответы (2)


вы можете сделать что-то вроде

foreach($html->find('h1,h2,h3') as $element){
person Haim Evgi    schedule 22.05.2012
comment
спасибо, я знал, что могу это сделать, но проблема (?) в том, что это нужно для проверки страниц, о которых я бы не знал, если бы кто-то использовал тег, например ‹H54› для целей css. Я видел, что в примечаниях к выпуску для класса есть поддержка подстановочных знаков, но я не видел ни одного примера его работы. - person Andrew Fielden; 23.05.2012

Попробуйте $xpath-›запрос

Пример:

/* The following example finds <h1> and <h2> tags in a html String and sets id to it. The html-code will be printed.*/
$html = "<h2>test2</h2><h1>test1</h1><h3>test3</h3>";
$dom = new DOMDocument();
@$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXpath($dom);
$htags = $xpath->query('//h1 | //h2');
foreach($htags as $htag)
    $htag->setAttribute('id', 'test');

echo htmlentities($dom->saveHTML());
person Steffan Schlüter    schedule 31.05.2021