Regina Schaukrug: Ich hab für Dich schon mal angefangen

Beitrag lesen

Das machst Du bei PHP am besten mittels XPath aus der DOM-Klassensammlung.

Wenn ich damit einigermaßen durch bin, kann ich Dir gerne weiterhelfen.

Ich hab für Dich schon mal angefangen:

<?php

$html='<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
  </head>
  <body>
	<h1>Hallo Welt!</h1>
	<p>Lorem ipsum
	<h2>Jaja</h2>
	<p>Lorem ipsum
	<p>Lorem ipsum
	<h2>Soso</h2>
	<p>Lorem ipsum
	<p>Lorem ipsum	
  </body>
</html>';

$doc = new DOMDocument();
$doc -> loadHTML( $html );

foreach ( $doc -> getElementsByTagName( '*' ) as $node ) {
    $path = $node -> getNodePath();
    $ar = array_reverse( explode( '/', $path ) );
    $tagName = array_shift( $ar );
    if ( preg_match( '/[Hh][1-6]/', $tagName ) ) {
        echo $node -> textContent . "\n";
    }
}