nasılereg_replace için preg_replace?
preg_replace... ?
için
ereg_replace(".*\.(.*)$","\\1",$imgfile);
dönüştürebilirsiniz?
Sorun yaşıyorum?
nasılereg_replace için preg_replace?
preg_replace... ?
için
ereg_replace(".*\.(.*)$","\\1",$imgfile);
dönüştürebilirsiniz?
Sorun yaşıyorum?
preg_replace("/.*\.(.*)$/", "\\1", "foo.jpg")
Bilmiyorum. Perl, JS, vb. Tek sebebi, PHP'nin sahip olmadığı normal ifadelere izin vermeleridir.
sınırlayıcılar, ifadenin başına ve sonuna herhangi bir char ekleyiniz, bu durumda ve geleneğe göre, '/' karakteri preg_replace('/.*\.(.*)$/',"\\1",$imgfile);
İntikam çok iyi değil, strrpos kullanmak ve substr() almak daha iyidir.
Regex yavaştır, bunu kullanın. $ extension = substr ($ imgName, strrpos ($ imgName, '.')); PHP /
sınırlayıcıları gerektirir neden
Bu problemi biliyorum; preg_replace() [function.preg-replace]: Bilinmeyen değiştirici '$' in içinde C: \ wamp \ www .. – sml
Evet, benim kötü yanı sıra, düzenleme de ifade yok gibi görünüyor. Sonunda bu durumda bir substr() kullanmak daha iyi. Preg_match'i de kullanabilirsiniz. –
Kodunuzdan backticks ile çıkabilirsiniz (bkz. Http://stackoverflow.com/editing-help). $ Düzeltme iyi görünüyor. –
Preg'ü için liman Ereg desenleri 4 ana şeyleri bilmelisiniz:
ayraçları ekle (/): 'pattern' => '/pattern/'
Kaçış ayırıcı o bir parçasıysa desen:
Aşağıdaki şekilde program aracılığıyla elde edin:
$ereg_pattern = '<div>.+</div>';
$preg_pattern = '/' .addcslashes($ereg_pattern, '/') . '/';
eregi (harf büyüklüğüne duyarsız eşleştirme): Eğer durum insenstive eşleştirme için eregi fonksiyonu kullanırken eğer 'pattern' => '/pattern/i'
Yani, sadece eklemek 'i' (yeni modelin sonunda '/ Desen/').
ASCII değerleri: desende numarasını kullanmak durumunda ereg olarak, bu bir karakterin ASCII başvuruyorsunuz farz olduğunu. Fakat preg'de, sayı ASCII değeri olarak değerlendirilmez. Dolayısıyla, deseniniz , ereg ifadesinde ASCII değeri içeriyorsa (örneğin: yeni satır, sekmeler vb.) Onaltılıya dönüştürür ve \ x ile önekini yapın. Bu yardımcı olacaktır
Example: 9(tab) becomes \x9 or alternatively use \t.
Umut.
Sınırlayıcılar arasında bir regex dizesinden kaçmak için yerleşik bir http://php.net/manual/en/function.preg-quote.php –
Tek düzenleyiciyi hem düzenleyiciyi hem de regex modelini sağlamak için kullanmayı tercih ettikleri içindir. ' "/ [A-z]/i" '. – kennytm