Übereinstimmende Zeilenumbruchzeichen in regulären Ausdrücken
Sie haben eine Zeichenfolge mit Zeichen, Leerzeichen und Zeilenumbrüchen zwischen
Lösung 1: DOTALL-Modifikator(en)
Verwenden Sie den/die DOTALL-Modifikator(en), wodurch der Punkt ( .) match newlines:
'/<div>(.*)<\/div>/s'
Lösung 2: Non-Greedy Match
Um Greedy-Matching zu verhindern, verwenden Sie ein Non-Greedy-Match mit *?:
'/<div>(.*?)<\/div>/s'
Lösung 3: < Wenn keine anderen Tags vorhanden sind
Sie können alles außer < zuordnen. wenn keine anderen Tags vorhanden sind:
'/<div>([^<]*)<<\/div>/''
Hinweis zu Regex-Trennzeichen
Sie können andere Zeichen als / als Trennzeichen für reguläre Ausdrücke verwenden, was ein einfacheres Escapen ermöglicht von Sonderzeichen:
'#<div>([^<]*)<<\/div>#'
Achtung
Diese Lösungen können bei verschachtelten Divs, zusätzlichem Leerraum, HTML-Kommentaren und anderen Komplexitäten fehlschlagen. Erwägen Sie die Verwendung eines HTML-Parsers für eine zuverlässige HTML-Analyse.
Das obige ist der detaillierte Inhalt vonWie ordne ich Zeilenumbrüche innerhalb von „Tags' in regulären Ausdrücken zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!