PREG_FILTER ist eine reguläre Expressionsfunktion, die Muster übereinstimmt und die passenden Teile ersetzt. Im Gegensatz zu anderen regulären Ausdrucksfunktionen gibt PREG_FILTER das ersetzte Ergebnis zurück, anstatt nur Inhalte wie PREG_MATCH anzupassen.
<span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>$ muster : reguläres Ausdrucksmuster.
$ Ersatz : Ersetzte Zeichenfolge.
$ Betreff : Die Zeichenfolge oder das Array, für die der Vorgang erforderlich ist.
Exploit -Funktion:
Explode wird verwendet, um eine Zeichenfolge gemäß dem angegebenen Separator in Teile aufzuteilen. Es gibt ein Array zurück, jedes Element ist ein geteiltes Substring.
<span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span></span>$ Grenzwerter : Trennzeichen.
$ String : Die Zeichenfolge, die geteilt wird.
In der tatsächlichen Entwicklung konzentrieren sich die in Kombination von Preg_filter- und Exploit -Funktionen verwendeten Szenarien hauptsächlich auf Segmentierung von Zeichenfolgen, während regelmäßige Ausdrücke unnötig Teile filtern oder ersetzt. Im Folgenden finden Sie einige gemeinsame Anwendungsszenarien:
Angenommen, wir haben eine Zeichenfolge, die durch verschiedene Symbole (wie Kommas, Semikolone usw.) getrennt ist, und wir möchten einige ungültige Teile davon entfernen und in ein Array aufteilen. Zu diesem Zeitpunkt können wir zuerst Preg_filter verwenden, um unnötige Teile herauszufiltern und dann die Exploit -Funktion zu teilen.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"apple, ,banana;,,orange;grape"</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/\s*[,;]\s*/'</span></span><span>; </span><span><span class="hljs-comment">// Regelmäßige Ausdrücke entfernen unnötige Separatoren</span></span><span>
</span><span><span class="hljs-comment">// verwendenpreg_filterRäumen Sie Räume und redundante Separatoren auf</span></span><span>
</span><span><span class="hljs-variable">$cleanedString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-string">','</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-variable">$items</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">','</span></span><span>, </span><span><span class="hljs-variable">$cleanedString</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$items</span></span><span>);
</span></span>Ausgangsergebnis:
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => apple
[</span><span><span class="hljs-number">1</span></span><span>] => banana
[</span><span><span class="hljs-number">2</span></span><span>] => orange
[</span><span><span class="hljs-number">3</span></span><span>] => grape
)
</span></span>In diesem Beispiel entfernt PREG_FILTER zuerst unnötige Räume und redundante Separatoren (wie mehrere Kommas oder Semikolonen) aus der Saite und spaltet dann die gereinigte Zeichenfolge durch Exploit in ein Array.
Manchmal müssen wir uns in ein komplexes Muster teilen. PREG_FILTER kann verwendet werden, um Zeichenfolgen vorzuprobieren und dann Exploit für die einfache Aufteilung zu verwenden. Diese Methode ist für einige komplexe Stringformate sehr geeignet.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"item1:apple, item2:banana; item3:orange"</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/[;\s]+/'</span></span><span>; </span><span><span class="hljs-comment">// Passen Sie Semikolons oder Whitespace -Charaktere an</span></span><span>
</span><span><span class="hljs-comment">// verwendenpreg_filterEntfernen Sie unnötige Räume und Separatoren</span></span><span>
</span><span><span class="hljs-variable">$cleanedString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-variable">$items</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$cleanedString</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$items</span></span><span>);
</span></span>Ausgangsergebnis:
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => </span><span><span class="hljs-attr">item1</span></span><span>:apple
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-attr">item2</span></span><span>:banana
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-attr">item3</span></span><span>:orange
)
</span></span>Hier wird PREG_FILTER verwendet, um Grenzwerte (wie Halbkolone und Whitespace -Zeichen) durch einen Speicherplatz zu ersetzen und dann die Zeichenfolge in ein Array mit Räumen als Abgrenzer durch die Exploit -Funktion aufzuteilen.
Durch die Kombination von PREG_FILTER- und Exploit -Funktionen kann die Leistung regulärer Ausdrücke bei der Verarbeitung von Zeichenfolgen vollständig genutzt werden und gleichzeitig mehrere Aufrufe zu regulären Übereinstimmungen vermieden werden. Hier sind einige der Vorteile dieses Ansatzes:
Daten aufräumen : Verwenden Sie Preg_filter , um unnötige Teile herauszufiltern und die Auswirkungen unregelmäßiger Zeichen oder Formatfehler zu verringern.
Verbesserte Lesbarkeit : Der Code ist präzise und die Logik ist klar. Reinigen Sie zuerst die Daten und teilen Sie sie dann auf, was intuitiver ist.
Verbesserung der Effizienz : In einigen Fällen werden mehrere reguläre Vorgänge vermieden und die Verarbeitungsgeschwindigkeit verbessert.
Durch die Verwendung von PREG_FILTER- und Exploit -Funktionen können Entwicklern den komplexen String- und Array -Daten effizienter verarbeiten. Durch die leistungsstarken Funktionen regulärer Ausdrücke können wir während des Verarbeitungsdaten überschüssige Teile herausfiltern und sicherstellen, dass die geteilten Daten sauberer und effektiver sind. Durch das Mastering der Kombination dieser beiden werden leistungsstarke Datenverarbeitungsfunktionen für die PHP -Entwicklung bereitgestellt.
Verwandte Tags:
explode