![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Antwort
> "#<li(.)>(.)<\/li>#"
Normalerweise sind reguläre Ausdrücke gierig, (greedy) bei diesem Ausdruck würde ich annehmen, daß der Ausdruck alles nach <li bis zum Zeilenende "frißt".
Sinnvolle Modifier: U: Ungreedy: möglichst wenig - irgendwelche Zeichen - suchen
s: . matcht auch auf Zeilenende. Ein Zeilende könnte ja in dem <li> Tag vorkommen.
Besser also: "#<li(.)>(.)<\/li>#Us"
Ich würde allerdings eine Negation bevorzugen: '~<li>([^<]+)</li>~'
Also 1 oder mehr Zeichen, die nicht in den eckigen Klammern vorkommen. Zirkumflex vorangestellt, negiert den Inhalt der Klammern.
Hoffe, es wird richtig angezeigt :D Viel Spaß!