preg_quote

(PHP 3>= 3.0.9, PHP 4 , PHP 5)

preg_quote -- Inserisce il carattere di escape nei caratteri delle espressioni regolari

Descrizione

string preg_quote ( string stringa [, string delimitatori])

La funzione preg_quote() inserisce il carattere di escape (\) davanti ad ogni carattere presente in stringa che sia parte della sintassi di una espressione regolare. Questa funzione è utile nei casi in cui si generino, durante l'esecuzione, delle stringhe da usare come criteri di riconoscimento, e queste possano contenere dei caratteri speciali per le espressioni regolari.

Se viene specificato un carattere come parametro delimitatore, anche a questo sarà anteposto il carattere di escape (\). Ciò è particolarmente utile per porre il carattere di escape nei delimitatori richiesti dalle funzioni PCRE. Il carattere di delimitazione più comunemente utilizzato è /.

I caratteri speciali per le espressioni regolari sono: . \\ + * ? [ ^ ] $ ( ) { } = ! < > | :

Esempio 1. Esempio di preg_quote()

<?php
$keywords
= "$40 for a g3/400";
$keywords = preg_quote($keywords, "/");
echo
$keywords; // returns \$40 for a g3\/400
?>

Esempio 2. Esempio di come rendere in corsivo una qualsiasi parola di un testo

<?php
// In questo esempio, la funzione preg_quote($word) viene usata
// per impedire agli asterischi di avere il loro significato
// speciale per le espressioni regolari.

$testo = "Questo libro è *molto* difficile da trovare.";
$parola = "*molto*";
$testo = preg_replace("/". preg_quote($parola) . "/",
                          
"<i>" . $parola . "</i>",
                          
$testo);
?>