SORU
7 HAZİRAN 2011, Salı


Nasıl ereg ifadeler gebelikte dönüştürmek PHP miyim?

POSIX regular expressions (ereg) kaldırılmış olduğundan beri PHP 5.3.0, PCRE (Perl Compatible Regular Expressions) (preg) eski ifadeleri dönüştürmek için kolay bir yol olduğunu bilmek istiyorum.

Örnek başına, bu düzenli ifade var:

eregi('^hello world');

Nasıl preg_match uyumlu ifadeler ifadeler haline çevirebilir miyim?

Not:Bu yazı tüm mesajları ilgili sorularınız için gebelikte için ereg ve yinelenen seçenekleri dönüşüm için İlgili için bir yer tutucu olarak hizmet vermektedir.Lütfen bu soruyu kapatmayın.

İlgili:

CEVAP
7 HAZİRAN 2011, Salı


Sözdizimi en büyük değişiklik delimiters ektir.

ereg('^hello', $str);
preg_match('/^hello/', $str);

Sınırlayıcı alfa-sayısal bir eğik çizgi veya boşluk karakteri olmayan oldukça çok şey olabilir. En çok kullanılan genel ~, / #.

Ayrıca eşleşen parantez kullanabilirsiniz:

preg_match('[^hello]', $str);
preg_match('(^hello)', $str);
preg_match('{^hello}', $str);
// etc

Eğer ayırıcı normal ifadede bulunursa, ondan kaçmak için:

ereg('^/hello', $str);
preg_match('/^\/hello/', $str);

Kolayca preg_quote kullanarak bir dize sınırlayıcı ve ayrılmış karakterler tüm kaçış:

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

Ayrıca, ancak sisteminizde çeşitli şeyler için modifiers destekler. En çok kullanılan bir büyük / küçük harf duyarlı değiştirici i, eregi alternatif:

eregi('^hello', 'HELLO');
preg_match('/^hello/i', 'HELLO');

PCRE syntax in PHP in the manual olarak list of differences POSIX arasında bir düzenli ifade için tam bir referans bulmak ve ifade dönüştürme yardım / edebilirsin.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • olinerd

    olinerd

    23 AĞUSTOS 2007