preg_quote
(PHP 4, PHP 5, PHP 7, PHP 8)
preg_quote — Maskiert Zeichen regulärer Ausdrücke
Beschreibung
$str, ?string $delimiter = null): string
preg_quote() setzt einen Backslash vor jedes Zeichen von
str, das zur Syntax eines regulären Ausdrucks
gehört. Das ist nützlich, wenn Sie einen Text nach Übereinstimmungen mit
einer zur Laufzeit erzeugten Zeichenkette durchsuchen müssen, die spezielle
RegEx-Zeichen enthalten könnte.
Spezielle Zeichen regulärer Ausdrücke sind: . \ + * ? [ ^ ] $ ( )
{ } = ! < > | : - #
Es ist zu beachten, dass / kein besonderes RegEx-Zeichen
ist.
Hinweis:
Es ist zu beachten, dass preg_quote() nicht dazu gedacht ist, auf die $replacement Zeichenkette(n) von preg_replace() etc. angewendet zu werden.
Parameter-Liste
-
str -
Die zu durchsuchende Zeichenkette
-
delimiter -
Falls der optionale
delimiterangegeben wurde, wird dieser ebenfalls maskiert. Das ist nützlich, um den Begrenzer zu maskieren, der von den PCRE-Funktionen benötigt wird. Der/ist der am häufigsten verwendete Begrenzer.
Rückgabewerte
Gibt die maskierte Zeichenkette zurück.
Changelog
| Version | Beschreibung |
|---|---|
| 7.3.0 |
Das Zeichen # wird nun maskiert.
|
| 7.2.0 |
delimiter ist jetzt ein Nullable-Typ.
|
Beispiele
Beispiel #1 preg_quote()-Beispiel
<?php
$schluesselwoerter = '$40 für einen G3/400';
$schluesselwoerter = preg_quote($schluesselwoerter, '/');
echo $schluesselwoerter; // liefert \$40 für einen G3\/400
?>
Beispiel #2 Kursivdruck eines Wortes in einem Text
<?php
// In diesem Beispiel wird preg_quote($wort) verwendet, damit die
// Asterisks (*) für den regulären Ausdruck keine spezielle Bedeutung haben.
$text = "Dieses Buch ist *sehr* schwer zu finden.";
$wort = "*sehr*";
$text = preg_replace("/" . preg_quote($wort, '/') . "/",
"<i>" . $wort . "</i>",
$text);
?>
Anmerkungen
Hinweis: Diese Funktion ist binärsicher.

