Ben bu gibi dosya yollarını ayrıştırmak mümkün olmak istiyorum:
/var/www/index.(htm|html|php|shtml)
Sıralı bir diziye:
array("htm", "html", "php", "shtml")
ve daha sonra alternatif bir listesini üretmek:
/var/www/index.htm
/var/www/index.html
/var/www/index.php
/var/www/index.shtml
Şu anda, ben two alternatifler bölebilirsiniz preg_match
bildirimde:
preg_match_all ("/\(([^)]*)\|([^)]*)\)/", $path_resource, $matches);
Biri bana alternatif bir unlimited sayıda (en az iki) kabul etmek için bu uzatmak için nasıl bir işaretçi verebilir misiniz? Sadece düzenli ifade ile ilgili, geri kalanı ben başa çıkabilirim.
Kural şudur:
Liste
)
ile(
ve yakın ile başlamak gerekiyorListede (yani en az iki alternatif) bir
|
olmalı(
veya)
diğer herhangi bir olay (lar) bakir kalacak.
Update: Ben de gibi birden fazla ayraç çifti ile başa çıkabilmek gerekir:
/var/(www|www2)/index.(htm|html|php|shtml)
üzgünüm hemen söylemedim.
Eğer ben dosya sistemi yapmak için çalışıyorum ne yapmak arıyorsanız Update 2:, o glob () zaten kutudan bu işlevlerini getiriyor unutmayın. Özel bir solutiom uygulamak için gerek yoktur. Ayrıntılar için aşağıdaki Gordon'un cevabını @ bakın.