


Detaillierte Erläuterung häufig verwendeter Funktionen in regulären PHP-Ausdrücken
In den vorherigen Artikeln haben wir etwas über die Verwendung von regulären PHP-Ausdrücken und die ersten Schritte gelernt. Heute konzentrieren wir uns auf die Einführung der allgemeinen Funktionen von PHP-regulären Ausdrücken, beides in Kombination perfekt einsetzbar! !
1. preg_match()
Funktionsprototyp:
int preg_match (string $pattern, string $content [, array $matches])
Die Funktion preg_match() durchsucht die $content-Zeichenfolge nach regulären Ausdrücken, die mit dem durch $pattern content angegebenen regulären Ausdruck übereinstimmen. Wenn $matches angegeben ist, werden die übereinstimmenden Ergebnisse darin platziert. $matches[0] enthält den Text, der mit dem gesamten Muster übereinstimmt, $matches[1] enthält die erste erfasste Übereinstimmung des Musterelements in Klammern usw. Diese Funktion führt nur einen Match durch und gibt letztendlich die Anzahl der Matching-Ergebnisse von 0 oder 1 zurück. Listing 6.1 zeigt ein Codebeispiel für die Funktion preg_match().
Code 6.1 Datums- und Uhrzeitabgleich
Der Code lautet wie folgt:
<?php //需要匹配的字符串。date函数返回当前时间 $content = "Current date and time is ".date("Y-m-d h:i a").", we are learning PHP together."; //使用通常的方法匹配时间 if (preg_match ("//d{4}-/d{2}-/d{2} /d{2}:/d{2} [ap]m/", $content, $m)) { echo "匹配的时间是:" .$m[0]. "/n"; } //由于时间的模式明显,也可以简单的匹配 if (preg_match ("/([/d-]{10}) ([/d:]{5} [ap]m)/", $content, $m)) { echo "当前日期是:" .$m[1]. "/n"; echo "当前时间是:" .$m[2]. "/n"; } ?>
Dies ist ein einfaches Beispiel für den dynamischen Textzeichenfolgenabgleich. Unter der Annahme, dass die aktuelle Systemzeit „13:25 Uhr am 17. August 2006“ ist, wird der folgende Inhalt ausgegeben.
Die passende Zeit ist: 17.08.2006 13:25 Uhr
Das aktuelle Datum ist: 17.08.2006
Die aktuelle Zeit ist: 13:25 Uhr
2 . ereg() und eregi()
ereg() ist die Matching-Funktion für reguläre Ausdrücke in der POSIX-Erweiterungsbibliothek. eregi() ist eine Version der Funktion ereg(), die die Groß- und Kleinschreibung ignoriert. Beide haben ähnliche Funktionen wie preg_match, die Funktion gibt jedoch einen booleschen Wert zurück, der angibt, ob die Übereinstimmung erfolgreich war oder nicht. Es ist zu beachten, dass der erste Parameter der POSIX-Erweiterungsbibliotheksfunktion eine reguläre Ausdruckszeichenfolge akzeptiert, d. h. es ist kein Trennzeichen erforderlich. Listing 6.2 ist beispielsweise eine Methode zur Überprüfung der Sicherheit von Dateinamen.
Code 6.2 Sicherheitsprüfung des Dateinamens
Der Code lautet wie folgt:
<?php $username = $_SERVER['REMOTE_USER']; $filename = $_GET['file']; //对文件名进行过滤,以保证系统安全 if (!ereg('^[^./][^/]*$', $userfile)) { die('这不是一个非法的文件名!'); } //对用户名进行过滤 if (!ereg('^[^./][^/]*$', $username)) { die('这不是一个无效的用户名'); } //通过安全过滤,拼合文件路径 $thefile = "/home/$username/$filename"; ?>
Normalerweise , Die Verwendung der Perl-kompatiblen Funktion zum Abgleich regulärer Ausdrücke perg_match() ist schneller als die Verwendung von ereg() oder eregi(). Wenn Sie lediglich herausfinden möchten, ob ein String einen bestimmten Teilstring enthält, empfiehlt sich die Verwendung der Funktion strstr() oder strpos().
Ersetzung regulärer Ausdrücke
1. ereg_replace() und eregi_replace()
Funktionsprototyp:
string ereg_replace (string $pattern, string $replacement, string $string) string eregi_replace (string $pattern, string $replacement, string $string)
ereg_replace() sucht nach der Musterzeichenfolge $pattern in $string und vergleicht die passenden Ergebnisse. Ersetzt mit $Ersatz. Wenn $pattern Mustereinheiten (oder Untermuster) enthält, werden Positionen in $replacement wie „/1“ oder „$1“ durch den Inhalt ersetzt, der mit diesen Untermustern übereinstimmt. Und „/0“ oder „$0“ bezieht sich auf den Inhalt der gesamten übereinstimmenden Zeichenfolge. Es ist zu beachten, dass der Backslash als Escape-Zeichen in doppelten Anführungszeichen verwendet wird, daher muss die Form „//0“ und „//1“ verwendet werden.
Die Funktionen von eregi_replace() und ereg_replace() sind die gleichen, außer dass ersteres die Groß- und Kleinschreibung ignoriert. Code 6.6 ist ein Anwendungsbeispiel dieser Funktion. Dieser Code zeigt, wie einfache Reinigungsarbeiten am Programmquellcode durchgeführt werden.
Code 6.6 Bereinigen des Quellcodes
Der Code lautet wie folgt:
<?php $lines = file('source.php'); //将文件读入数组中 for($i=0; $i<count($lines); $i++) { //将行末以“//”或“#”开头的注释去掉 $lines[$i] = eregi_replace("(////|#).*$", "", $lines[$i]); //将行末的空白消除 $lines[$i] = eregi_replace("[ /n/r/t/v/f]*$", "/r/n", $lines[$i]); } //整理后输出到页面 echo htmlspecialchars(join("",$lines)); ?>
2. preg_replace()
Funktionsprototyp:
mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit])
preg_replace ist leistungsfähiger als ereg_replace. Die ersten drei Parameter können alle Arrays verwenden; der vierte Parameter $limit kann die Anzahl der Ersetzungen festlegen, und die Standardeinstellung ist, alle zu ersetzen. Code 6.7 ist ein Anwendungsbeispiel für den Array-Ersatz.
Code 6.7 Array-Ersetzung
Der Code lautet wie folgt:
<?php //字符串 $string = "Name: {Name}<br>/nEmail: {Email}<br>/nAddress: {Address}<br>/n"; //模式 $patterns =array( "/{Address}/", "/{Name}/", "/{Email}/" ); //替换字串 $replacements = array ( "No.5, Wilson St., New York, U.S.A", "Thomas Ching", "tom@emailaddress.com", ); //输出模式替换结果 print preg_replace($patterns, $replacements, $string); ?>
Das Ausgabeergebnis ist wie folgt.
Name: Thomas Ching", Email: tom@emailaddress.com Address: No.5, Wilson St., New York, U.S.A
Der Mustermodifikator „e“ kann im regulären Ausdruck von preg_replace verwendet werden. Seine Funktion besteht darin, das Übereinstimmungsergebnis als Ausdruck zu verwenden und erneut zu bearbeiten. Zum Beispiel:
Der Code lautet wie folgt:
<?php $html_body = “<HTML><Body><H1>TEST</H1>My Picture<Img src=”my.gif”></Body></HTML>”; //输出结果中HTML标签将全部为小写字母 echo preg_replace ( "/(<//?)(/w+)([^>]*>)/e", "'//1'.strtolower('//2').'//3'", //此处的模式变量//2将被strtolower转换为小写字符 $html_body); ?>
Zusammenfassung:
Die preg_replace-Funktion verwendet Perl-kompatible reguläre Ausdrücke Syntax, normalerweise schnellere Alternative zu ereg_replace. Wenn Sie nur eine einfache Ersetzung einer Zeichenfolge durchführen möchten, können Sie die Funktion str_replace verwenden.
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung häufig verwendeter Funktionen in regulären PHP-Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
