Nasıl maç ve PHP ile bir lokma yerine?

4 Cevap php

Böyle bir şey, ama ben bunu 2 kez yapmak istemiyorum:

preg_match_all($pattern,$string,$matches);
$string = preg_replace($pattern,'',$string);

4 Cevap

Bunun görünüyor tarafından size 2 tamamen ayrı şeyler yapıyorsun.

preg_match_all($pattern,$string,$matches); // return all the matches
$string = preg_replace($pattern,'',$string); // replace all the matches in the string

Yani aslında iki şey yapmıyorlar. Eğer satır aşağı bir yerde daha fazla $ eşleşmeleri kullanmadığınız sürece zaten preg_replace afterwords yapmak için gidiyoruz eğer, ilk satırı ilgisizdir.

(Düzenli ifadeler gibi) fantezi değiştirilmesi kuralları gerekmez, her zaman str_replace () fonksiyonu yerine ereg_replace () veya preg_replace () kullanmalısınız.

http://uk.php.net/str%5Freplace

Bu, tüm oluşumları ve sadece 1 komut yapacağız.

Eğer böyle bir şey mi?

$string = preg_replace(preg_match_all($pattern,$string,$matches),'',$string);

Update:

Ben bu yüzden böyle bir şey istiyorum .. ama şimdi görebiliyordu düşündüm ki onun mümkün değil (@ gnud cevap olarak) şeyler komplike olmadan. Yani cevabı tek satırda bunu yapamaz, yok olduğunu.