Ben biraz standart bir biçimde adlandırılmıştır dosyaları bir grup var. Standart form temelde şudur:
[Tamsayı] _word1_word2_word3_ ... _wordn bir kelime gerçekten bir şey olabilir nerede, ancak tüm kelimeleri bir çizgi ile ayrılır.
Ben metne yapmak istediğim sadece 3 şey gerçekten var:
1..) I "200" gibi bir şey $ 200,00 olacak ki, başında her zaman tamsayı, değiştirmek istediğiniz.
2.) "Ile" ile herhangi bir "ile" "ile" form "kelime", "w /" veya "W /" değiştirin.
3..) Bir boşluk ile tüm çizgi değiştirin.
Ben hile yapmak için üç farklı preg_replace aramaları yazdı. Bunlar aşağıdaki gibidir:
1). $filename = preg_replace("/(^[0-9]+)/","$ $1.00",$filename)
2). $filename = preg_replace("/_([wW]|[wW]ith)_/"," with ",$filename)
3). $filename = preg_replace("/_/"," ",$filename);
Her değiştirme ayrı ayrı çalıştırdığınızda beklendiği gibi çalışır, ancak her üç çalıştırdığınızda, 2 yedek göz ardı edilir. Neden böyle bir şey meydana istiyorsunuz?
Yardımın için teşekkürler!
Güncelleme:
İşte ben çalışıyorum gerçek kodu:
$path = "./img";
$dir_handle = @opendir($path);
while ($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
$id = preg_replace("/\.jpg/","",$file);
$id = preg_replace("/(^[0-9]+)/","$ $1.00", $id);
$id = preg_replace("/_([wW]\/|[wW]ith)_/"," with ", $id);
$id = preg_replace("/_/"," ", $id);
echo "<a href='javascript:show(\"img/$file\")'>$id</a> <br/>";
}
}
closedir($dir_handle);