(PHP 4, PHP 5, PHP 7)
preg_quote — Maskiert Zeichen regulärer Ausdrücke
$str
[, string $delimiter
= NULL
] )
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: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
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 |
---|---|
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.