ďťż

[PHP] Formatowanie stringa

       

Podstrony


telcocafe

Chciałbym dodać "/" do ścieżki, kombinuję i kombinuję bez efektu. Mam:
img0002jakas_nazwa.jpg
Chciałbym uzyskać:
img/00/02/jakas_nazwa.jpg
Robię tak, ale nie działa:
$uploaded = preg_replace("/^(img)([0-9]{2})([0-9]{2})([0-9a-z_-])(gif|jpg|jpeg|png|rar|zip|pdf|psd)$ /", "$1/$2/$3/$4.$5", $uploaded);



preg_replace('/img([0-9]{2})([0-9]{2})([0-9a-z_-]+).{1}(gif|jpg|jpeg|png|rar|zip|pdf|psd)/ ', 'img/$1/$2/$3.$4', 'img0002jakas_nazwa.jpg');
Twoje wyrażenie jest OK, ale zapomniałeś o kropce przed rozszerzeniem i "+" po "jakas_nazwa".

EDIT: Miałem na myśli brak kropki we wzorcu. Twoje wyrażenie nie działało, bo po dwóch cyfrach szukałeś cyfry, małej litery, myślnika lub podkreślenia, a potem rozszerzenia. Nigdzie nie było kropki.
Użytkownik Kozack edytował ten post 08 marzec 2010, 21:34
Jak dodam kropkę, to mam dwie ;) Tak mi działa po mojej myśli:
$uploaded = preg_replace("/(img)([0-9]{2})([0-9]{2})(.*?)(gif|jpg|jpeg|png|rar|zip|pdf|psd)/ ","$1/$2/$3/$4$5",$uploaded);
Sama zmienna $uploaded jest tu przykładowa, bo może to być nawet: img9999mcosdlahlsbcid-_kxsxsxs.gif
Użytkownik Kshyhoo edytował ten post 08 marzec 2010, 18:13
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.