> Nevedeli by jste nekdo jak by se dal udelat regulerni vyraz aby mi v PHP nebo > radeji v Perl rozdelil celou cestu k souboru na cestu a jmeno a koncovku a aby > to slo i kdyz je koncovek vice tak aby tam pak byla jen ta posledni? Ja to asi > neumim poradne napsat takze asi takhle - aby z > c:\moje\textove\soubory\zkouska.txt udelal tohle: > c:\moje\textove\soubory > zkouska > .txt > ale z > c:\moje\textove\soubory\zkouska.txt.bak udelal tohle: > c:\moje\textove\soubory > zkouska.txt > .bak > Jo a tu cestu bez lomitka na konci a koncovku zas s teckou na zacatku. Ja PHP > moc neumim ale umim trochu Perl ale ani tam moc neumim prave tyhlety regulerni > vyrazy tak kdyby byl nekdo tak hodnej, diky moc. Jo a mam ActivePerl pod Win. > =matlafa= Hmmm. Umis _trochu_ Perl ale neumis regexy?? To uz ti pak z nej k tomu umeni moc nezbude - vzdyt Perl s regexy temer stoji a pada. A take jsou to REGULERNI vyrazy a ne regulArni. No ale budiz. :-) Ja bych to udelal treba takto: $fullname='h:/nekde/nejake/neco/soubor.txt.bak'; # ....... ($path,$name,$ext)=$fullname=~/(^.+)[\/\\](.+)(\..*$)/i; Udela to co chces a tak jak to chces. Zpracuje take stejne dobre pathname jak s Unixovymi lomitky '/' tak backslashes '\'. Ale ja osobne doporucuji v Perlu i v PHP pod Win pouzivat zasadne jenom '/'. Je to jednodussi, efektivnejsi a program si s tim poradi sam. V praxi bych ale spise pouzil modul File::Basename a udelal tohle: ($name,$path,$ext)=fileparse($out,'\..*'); Pravda ale je, ze to vrati path s lomitkem a vsechny extense od (a vcetne) prvni tecky. Daniel. ____________________________________________________________ Udělejte radost svým blízkým i sobě. Vánoční katalog Braun přináší tisíce inspirací na vánoční dárky. Vyslovte přání a Braun Vám ho splní! http://seznam.hit.gemius.pl/hitredir/id=9X6rUA0WEAtM7sEWuY3lr@m7/id=9X6rUA0WEAtM7sEWuY3lr@m7/url=http://vanoce.novinky.cz/braun/index.php
This archive was generated by hypermail 2.1.3 : 02. 12. 2003, 00:24 CET