Mit Regex zu jedem Match das übergeordnete Element finden
bearbeitet von
@@Tom H.
> Ich versuche ein unstrukturiertes Dokument mit Hilfe von Regulären Ausrdrücken für die Weiterverarbeitung im Code zu strukturieren. Das Dokument sieht vereinfacht folgendermassen aus:
>
>
> ~~~html
> <h1>Kapitel 1</h1>
> <h2>Kapitel 1.1</h2>
> <h1>Kapitel 2</h1>
> <div>Ein Text</div>
> <h2>Kapitel 2.1</h2>
> <h2>Kapitel 2.2</h2>
> <div>Ein Text</div>
> <h3>Kapitel 2.2.1</h3>
> ~~~
Wäre es eine Option, das Dokument zu verändern und richtig zu strukturieren?
Die Verwendung von `h1` für die Kapitelüberschriften ist auch fraglich. `h1` sollte die Überschrift des gesamten Werkes sein und im Dokument nur einmal vorkommen.
Also:
~~~html
<h1>Das große Ganze</h1>
<section>
<h2>Kapitel 1</h2>
<section>
<h3>Kapitel 1.1</h3>
</section>
</section>
<section>
<h2>Kapitel 2</h2>
<div>Ein Text</div>
<section>
<h3>Kapitel 2.1</h3>
</section>
<section>
<h3>Kapitel 2.2</h3>
<div>Ein Text</div>
<section>
<h4>Kapitel 2.2.1</h4>
</section>
</section>
</section>
~~~
Dann hast du eine brauchbare DOM-Struktur (Nutzer assistiver Technologiern wie Screenreader werden es dir danken) und dein Vorhaben ist über Eltenelemente leicht umsetzbar.
LLAP 🖖
--
_“You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.”_{: lang="en"} —Stefan Tilkov
_[Selfcode](http://community.de.selfhtml.org/fanprojekte/selfcode.htm): `sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|`_{: style="display: block; font-size: 0.875em; font-style: inherit; margin-top:1.5em"}