Gunnar Bittersmann: Mit Regex zu jedem Match das übergeordnete Element finden

Beitrag lesen

@@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:

<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:

<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 Technologien 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.” —Stefan Tilkov
Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|