Schorsch: Reguläre Ausdrücke Kapitel finden

Beitrag lesen

Salut Felix

Beispiel: /\S[IVXLCMD]*/ gefolgt von /.\d/ ergibt /\S[IVXLCMD]*.\d/

Vielen Dank!

Ich habe eine Lösung gefunden...

// Text mit den Kapiteln drin
  $var = 'Text... I.1) Hier haben wir Text... XII.1.5) '
        .'Und hier haben wir mehr Text...';

// Gewünschtes Kapitel
  $chapter_start = ' I.1) ';

// Startposition
  $start = strpos($var, $chapter_start);

// Text nach der Startposition
  $var_new = substr($var, $start + strlen($chapter_start));

// Ziel
  preg_match("/([IVXLCMD]*.\d)|(SECTION)/i", $var_new, $ziel);

// Jetzt hab ich Start und Ziel
  // Und kann mein Kapitel ausgeben
  $result = substr($var, $start, strpos($var, $ziel[0])-$start);

// Output
  // I.1) Hier haben wir Text...

Vermutlich ginge das auch einfacher. Zum Beispiel, wenn man dem preg_match sagen könnte: "Bring mir den 2. Treffer..."

Vielleicht hat jemand noch eine viel bessere Idee?

Gruss
Schorsch