Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man reguläre Sonderzeichen in PHP maskiert

Wie man reguläre Sonderzeichen in PHP maskiert

藏色散人
藏色散人Original
2020-10-20 09:18:134538Durchsuche

So maskieren Sie reguläre Sonderzeichen in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei. Definieren Sie dann eine Zeichenfolge, um die Sonderzeichen schließlich durch Backslashes zu maskieren, und analysieren Sie die Variablen.

Wie man reguläre Sonderzeichen in PHP maskiert

Empfohlen: „PHP-Video-Tutorial

Problem

Ich habe kürzlich PHP-reguläre Ausdrücke verwendet und bin beim Schreiben von Ausdruckszeichenfolgen auf einige Probleme gestoßen. Ich weiß jetzt nicht, wann ich Backslash „“ verwenden muss für etwas Sortierung.

PHP-Strings

Es gibt 4 Möglichkeiten, PHP-Strings zu definieren:

  • Einfache Anführungszeichen
  • Doppelte Anführungszeichen
  • Heredoc-Syntaxstruktur
  • Nowdoc-Syntaxstruktur (seit PHP 5.3.0)

Zeichen definieren Als Zeichenfolge etwas Besonderes Zeichen werden mit Escapezeichen versehen und Variablen werden analysiert.

Zu den Sonderzeichen gehören:

item content note
linefeed n LF oder 0x0A
carriage return r CR oder 0x0D
Ebene Tabulatorzeichen t HT oder 0x09
Vertikales Tabulatorzeichen v VT oder 0x0B
Seitenwechsel f FF oder 0x0C
Backslash \
Dollarzeichen $
doppelte Anführungszeichen "
einfache Anführungszeichen '
Oktale Zeichen [0-7 ]{1,3 }
Hexadezimale Zeichen x[0-9A-Fa-f]{1,2}

Weitere Informationen zu diesem Teil finden Sie im PHP-Handbuch:

Entfernen Sie in einfachen Anführungszeichen (') und Backslash () und geben Sie die ursprüngliche Bedeutung anderer Zeichen aus, außer doppelten Anführungszeichen Die Sonderzeichen von Anführungszeichen (") werden mit Escapezeichen versehen und die Variablen werden analysiert.

Daher wird in diesen beiden allgemeinen Zeichenfolgendefinitionen der Backslash () immer mit Escapezeichen versehen.

PHP-regulärer Ausdruck

PHP bietet zwei Sätze regulärer Ausdrucksfunktionsbibliotheken: [Referenz]

One wird von der PCRE-Bibliothek (Perl Compatible Regular Expression) mit Funktionen bereitgestellt, die mit dem Präfix „preg_“ benannt sind.

One wird von der POSIX-Erweiterung (Portable Operating System Interface of Unix) bereitgestellt. PHP-Standard: Verwenden Sie Funktionen mit dem Präfix „ereg_“.


Reguläre Ausdrücke stellen Matching-, Ersetzungs- und Segmentierungsfunktionen bereit.

Derzeit werden nur reguläre Ausdrücke im Perl-Stil verwendet .

Reguläre Ausdrücke im Perl-Stil müssen wie folgt in Trennzeichen („/“ oder „#“) eingefügt werden: [Referenz]

$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';
$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';

Um eine URL zu teilen, definiert die Variable $regex eine Zeichenfolge mit regulären Ausdrücken :

^http://([w.]+)/([w]+)/([w]+).html$

Diese Zeichenfolge enthält einige Sonderzeichen, wie „/“ und „.“ , die wie folgt maskiert und mit einem Backslash ("") im Perl-Stil definiert werden müssen:

^http://([ w.]+)/([w]+)/([w]+). html$

Gleichzeitig muss diese Zeichenfolge im Trennzeichen enthalten sein, daher gibt es die beiden oben genannten Arten von Ausdrücken; „#“ ist das Trennzeichen und es besteht keine Notwendigkeit, das „/“ zu maskieren

Escape für reguläre Ausdrücke

Wenn Sie in regulären Ausdrücken die folgenden einzelnen Zeichen abgleichen möchten, müssen Sie zum Escape einen Backslash (" ") verwenden:

"", "?", "*", "^", „$“, „+“, „(“, „)“, „|“, „{“, „[“

In regulären Ausdrücken im Perl-Stil, wenn Sie mit dem folgenden einzelnen Zeichen oder einem einzelnen Zeichen übereinstimmen nicht mit dem oben übereinstimmenden Wert übereinstimmt, müssen Sie ihn auch mit einem Backslash ("") maskieren:

^=}]/:<> ;.'"

Zusammenfassung

Um eine korrekte Zeichenfolge für reguläre Ausdrücke im Perl-Stil zu schreiben, sind drei Schritte erforderlich sind erforderlich:

Schreiben Sie den richtigen regulären Ausdruck, achten Sie auf das Escapezeichen von Sonderzeichen.

Fügen Sie Trennzeichen ein und maskieren Sie es mithilfe von Escaperegeln im Perl-Stil.

Escapen Sie den Inhalt der obigen Zeichenfolge gemäß der PHP-Stringdefinition

Das obige ist der detaillierte Inhalt vonWie man reguläre Sonderzeichen in PHP maskiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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