Hallo,
ich möchte folgendes mit einem regulären Ausdruck erreichen:
Es gibt einen Text, der enthält Normale Zeilenumbrüche.
In diesem Text sind Listen eingebettet (mit <ul>[/list]).
Diese Listen werden wegen der Übersichtlichkeit auch jeweils nach den htmltags umgebrochen.
Nun möchte ich alle Umbrüche, die zwischen Tags stehen, entfernen.
Alle anderen sollen bestehen bleiben.
Ansatz:
Lookahead und Lookbehind assertions. Das Muster soll nur erkannt werden, wenn vorher ein Tag steht und nachher ein schließender Tag vom gleichen Typ.
Dabei tritt der genannte Fehler auf:
Compilation failed: lookbehind assertion is not fixed length.
Weiß jemand Rat?
ich möchte folgendes mit einem regulären Ausdruck erreichen:
Es gibt einen Text, der enthält Normale Zeilenumbrüche.
In diesem Text sind Listen eingebettet (mit <ul>[/list]).
Diese Listen werden wegen der Übersichtlichkeit auch jeweils nach den htmltags umgebrochen.
Nun möchte ich alle Umbrüche, die zwischen Tags stehen, entfernen.
Alle anderen sollen bestehen bleiben.
Ansatz:
Lookahead und Lookbehind assertions. Das Muster soll nur erkannt werden, wenn vorher ein Tag steht und nachher ein schließender Tag vom gleichen Typ.
PHP-Code:
<?php
$string = "Das hier ist die Überschrift\n\n<ul>\n[*]1\n[*]2\n[/list]Das hier ist die 2. Überschrift\n\ndas hier ist ein text.";
$regex = "!^(?<=<.*\>)[\\r|\\n]+(?=\</$1\>)!isU";
$replace = "";
echo nl2br(preg_replace($regex,$replace,$string));
?>
Compilation failed: lookbehind assertion is not fixed length.
Weiß jemand Rat?
Kommentar