PHP olmayan açgözlü sorun preg_replace

1 Cevap php

I've been using the following site to test a PHP regex so I don't have to constantly upload: http://www.spaweditor.com/scripts/regex/index.php

Ben aşağıdaki regex kullanarak ediyorum:

/(.*?)\.{3}/

(hiçbir şey ile değiştirilmesi) şu dizesi:

Non-important data...important data...more important data

ve preg_replace dönüyor:

more important data

ama ben geri dönmek için bekliyoruz:

important data...more important data

Ben düşündüm? olmayan açgözlü değiştirici olduğunu. Burada neler oluyor?

1 Cevap

Beklendiği gibi açgözlü olmayan değiştirici çalışıyor. Ama preg_match (sizin durumda "") yerine metin ile (non-açgözlü) maç all tekrarlarını değiştirir. Eğer sadece ilk yerini istiyorsanız, preg_replace fonksiyonuna bağlı 4 argüman (sınır) olarak 1 geçebileceği (PHP docs for preg_replace). Eğer bağlantılı web sitesinde, bu 1 kelime "Flags" ve kelime "limit" arasındaki metin girişine yazarak yapılabilir.