Heim >Backend-Entwicklung >PHP-Tutorial >Wie ordne ich Zeilenumbrüche innerhalb von „Tags' in regulären Ausdrücken zu?

Wie ordne ich Zeilenumbrüche innerhalb von „Tags' in regulären Ausdrücken zu?

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 03:01:311085Durchsuche

How to Match Newline Characters Within `` Tags in Regular Expressions?

Übereinstimmende Zeilenumbruchzeichen in regulären Ausdrücken

Sie haben eine Zeichenfolge mit Zeichen, Leerzeichen und Zeilenumbrüchen zwischen

und
. Der reguläre Ausdruck
(.)
schlägt fehl, weil . nicht mit Zeilenumbrüchen übereinstimmt.

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!

html String if for using Regex everything
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wie behebe ich den Fehler „Zertifikatsüberprüfung fehlgeschlagen“ beim Senden von TLS-E-Mails mit Laravel?Nächster Artikel:Wie behebe ich den Fehler „Zertifikatsüberprüfung fehlgeschlagen“ beim Senden von TLS-E-Mails mit Laravel?

In Verbindung stehende Artikel

Mehr sehen