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
delimiter
angegeben 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.