Autor | Zpráva | ||
---|---|---|---|
Darkry Profil |
#1 · Zasláno: 30. 12. 2011, 14:49:36
Zdravím,
moc s regulárníma výrazama nepracuju a teď mám takovej problém, nad kterým už chvíli sedim a ne a ne na něj přijít. Mám řetězec s cestou k souboru ve tvaru asi: C:\xampp\htdocs\Application\app\AdminModule\TextModule\presenters\TextPresenter.php C:\xampp\htdocs\Application\app\AdminModule\TextModule Cesta se samozřejmě bude měnit a co vim pevně je, že potřebuju odříznoout z konce toto: \presenters\nejakyNazev.php
zkoušel jsem něco jako: $path = preg_replace("~^([a-zA-Z1-9\\: \/\-_]+)presenters[a-zA-Z1-9\: \\/\-_\.]+~", "\\1", $path) Což sice projde bez syntaktické chyby, ale řetězec to nezmění. Jaký je nejjednodušší způsob jak tohle udělat? Díky |
||
DJ Miky Profil |
#2 · Zasláno: 30. 12. 2011, 14:55:49 · Upravil/a: DJ Miky
Třeba odstranit
presenters\něco.php na konci řetězce takto:
$path = preg_replace('~\\\\presenters\\\\[^\\\\]+\\.php$~', '', $path); Ovšem bude to fungovat pouze na Windows, na unixovém systému budeš mít v cestě normální lomítka, tak je potřeba s tím počítat. |
||
Darkry Profil |
#3 · Zasláno: 30. 12. 2011, 14:57:29 · Upravil/a: Darkry
Díky moc! Musim to nějak prozkoumat :-)
A jak by se to dalo upravit na ty normální? něco jako: [\\\\|/] ?
|
||
Camo Profil |
#4 · Zasláno: 31. 12. 2011, 08:58:09 · Upravil/a: Camo
Tam to nepatri. To je súbor zakázaných znakov. ~(\\\\|/)presenters(\\\\|/)[^\\\\]+(\\|/).php$~
Neviem či sú tie lomítka dobre oescapované. Hádam hej... |
||
Časová prodleva: 12 let
|
0