Forum und email

preg_quote

(PHP 4, PHP 5)

preg_quote — Reguláris kifejezés metakaraktereit literálissá változtatja

Leírás

string preg_quote ( string $str [, string $delimiter ] )

A preg_quote() függvény az str paraméterben kapott szövegben minden olyan karakter elé egy visszaperjelet helyez el, amely egy reguláris kifejezésben speciális jelentéssel bírhat. Ez akkor hasznos, ha olyan futási idő alatt összeállított sztringet kell egy mintában felhasználni, amelyben előfordulhatnak speciális jelentéssel bíró reguláris karakterek.

Ha a nem kötelező delimiter -t is megadod, akkor ez a karakter is visszaperjellel lesz bevezetve. Ez pedig azért hasznos, mert PCRE által megkövetelt határolójeleket is le lehet kezelni így. A / a leggyakrabban használt határolójel.

A reguláris kifejezésekben előforduló speciális karakterek:

 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : 

$kulcsszavak = "$40 egy g3/400-ért";
$kulcsszavak = preg_quote ($keywords, "/");
echo $kulcsszavak; // \$40 egy g3\/400-ért adja vissza

Example#1 Adott szöveg dőlt betűssé alakítása HTML-ben

// Ebben a példában preg_quote($szo)-t használjuk arra, hogy
// a csillagokat megfosszuk a reguláris kifejezésekben használt
// speciális jelentésüktől.

$szoveg = "Ezt a könyvet *nagyon* nehéz megtalálni.";
$szo    = "*nagyon*";
$szoveg = preg_replace ("/".preg_quote($szo)."/",
                          "<i>".$szo."</i>;",
                          $szoveg);