(PHP 4, PHP 5, PHP 7)
preg_quote — Maskiert Zeichen regulärer Ausdrücke
$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.
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.
Gibt die maskierte Zeichenkette zurück.
Version | Beschreibung |
---|---|
7.3.0 | Das Zeichen # wird nun maskiert. |
5.3.0 | Das Zeichen - wird nun maskiert. |
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);
?>
Hinweis: Diese Funktion ist binary safe.