SORU
7 EKİM 2009, ÇARŞAMBA


Uygulanmadan önce normal ifade desenleri kaçabilir bir PHP işlevi var mı?

Uygulanmadan önce normal ifade desenleri kaçabilir bir PHP işlevi var mı?

C# Regex.Escape() işlevi çizgisinde bir şey arıyorum.

CEVAP
7 EKİM 2009, ÇARŞAMBA


preg_quote() aradığınız nedir:

Açıklama

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

() preg_quotealırstrve koyar bir her ters eğik çizgi karakteri önünde bu düzenli ifadenin bir parçasıdır sözdizimi. Eğer varsa yararlıdır çalışma zamanı karşılamak için gerekli olan dize bazı metin ve dize olabilir düzenli özel karakterler içeriyor.

Özel düzenli ifade karakterler: . \ * ? [ ^ ] $ ( ) { } = ! < > | : -

Parametreleri

str

Giriş dizesi.

sınırlayıcı

İsteğe bağlı sınırlayıcı belirtilmişse de kaçmış olacak. Bu ancak sisteminizde fonksiyonları için gerekli olan sınırlayıcı kaçmak için yararlıdır. / En sık kullanılan değişkendir.

Önemlisi, eğer adını $delimiter bağımsız değişken belirtilmemişse, delimiter - kullanılan karakter için alın size düzenli, yaygın bir eğik çizgi (/) - olmayacak kaçtı. Genellikle $delimiter bağımsız değişken olarak düzenli ifade ile kullandığınız ne olursa olsun geçirmek isteyeceksiniz.

Örnek - preg_match belirli bir URL boşluk çevrili tekrarlamalarını bulmak için kullanma

$url = 'http://stackoverflow.com/questions?sort=newest';

// preg_quote escapes the dot, question mark and equals sign in the URL (by
// default) as well as all the forward slashes (because we pass '/' as the
// $delimiter argument).
$escapedUrl = preg_quote($url, '/');

// We enclose our regex in '/' characters here - the same delimiter we passed
// to preg_quote
$regex = '/\s' . $escapedUrl . '\s/';
// $regex is now:  /\shttp\:\/\/stackoverflow\.com\/questions\?sort\=newest\s/

$haystack = "Bla bla http://stackoverflow.com/questions?sort=newest bla bla";
preg_match($regex, $haystack, $matches);

var_dump($matches);
// array(1) {
//   [0]=>
//   string(48) " http://stackoverflow.com/questions?sort=newest "
// }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • jbignacio

    jbignacio

    13 Mart 2006