Autor | Zpráva | ||
---|---|---|---|
Budry Profil |
#1 · Zasláno: 9. 8. 2012, 16:27:45
Zdravím, mám problém
potřeboval bych z jakékoliv adresy odstranit část řetězce. Ukázka: D:\Kappa\www\media\upload\images\bez-nazvu-2.png neco\moje\blbost\upload\images\bez-nazvu-2.png Tučné by mělo být smazáno. Nějaký řetěžec umazat až po upload\images\ včetně - tímto bude vždy končit. Ale vůbec si nevim rady jak to zapsat. Předem dík za pomoc |
||
ShiraNai7 Profil |
#2 · Zasláno: 9. 8. 2012, 16:31:57
Funkce
basename() . Ale pozor na lomítka.. na Windows bere "\" i "/", jinde jen "/".
|
||
Budry Profil |
ShiraNai7:
To by asi nepomohlo protože v případě že bude neco\moje\blbost\upload\images\moje-slozka\jina-slozka\bez-nazvu-2.png tak pořád jen to tučné musí pryč |
||
mimochodec Profil |
$posledni = end (explode("\\", $cesta)); [#6] ShiraNai7 Díky za upozornění, netestoval jsem a tohle jsem si neuvědomil. Tu druhou chybu ani nevidím, ani jí nerozumím. |
||
Jan Tvrdík Profil |
#5 · Zasláno: 9. 8. 2012, 16:49:00
Budry:
Zkoušel jsi vůbec tu funkci basename? |
||
ShiraNai7 Profil |
mimochodec:
Tvoje řešení není ideální: 1) Vyvolá chybu Strict Standards: Only variables should be passed by reference in .. 2) "\" selže na chybě syntaxe, chybí ti tam druhá uvozovka
Budry: Další možnost: $cesta = str_replace(array('\\'), '/', $cesta); $pozice = strrpos($cesta, '/'); if(false !== $pozice) { $cesta = substr($cesta, $pozice + 1); } |
||
Budry Profil |
#7 · Zasláno: 9. 8. 2012, 16:57:15
Pardón omlouvám se, blbě jsem označil tu část.
takhle to mělo bejt neco\moje\blbost\upload\images\moje-slozka\jina-slozka\bez-nazvu-2.png Prostě to co je dál za images\ nechat |
||
ShiraNai7 Profil |
Budry:
$cesta = 'neco\moje\blbost\upload\images\moje-slozka\jina-slozka\bez-nazvu-2.png'; $prefix = 'neco\moje\blbost\upload\images\\'; $prefixLen = strlen($prefix); if(substr($cesta, 0, $prefixLen) === $prefix) { $cesta = substr($cesta, $prefixLen); } echo $cesta; // vypise moje-slozka\jina-slozka\bez-nazvu-2.png |
||
Budry Profil |
#9 · Zasláno: 9. 8. 2012, 17:01:51
ShiraNai7:
To co je před \upload\images\ se bude měnit a to co je za chci vytáhnout... To tvoje by nefungovalo. |
||
mimochodec Profil |
#10 · Zasláno: 9. 8. 2012, 17:02:32
|
||
ShiraNai7 Profil |
#11 · Zasláno: 9. 8. 2012, 17:03:31
Já končím. Nejsi schopný se vyjádřit, co vlastně chceš.
|
||
Budry Profil |
#12 · Zasláno: 9. 8. 2012, 17:04:31
mimochodec:
Potřebuju abych ze stringu XXXXX\upload\images\YYYYY ..... vytáhl to Y. X neznám Mělo by to jít přes regulár ale nevim jak ho dát dohormady :( |
||
mimochodec Profil |
#13 · Zasláno: 9. 8. 2012, 17:04:54
Budry:
Zamyslel ses, jak funguje to co píšu v #4? |
||
Budry Profil |
#14 · Zasláno: 9. 8. 2012, 17:06:39
mimochodec:
a co když bude zápis xXXX\upload\images\moje-složka\jina-složka\muj.jpg a já z toho chci dostat moje-složka\jina-složka\muj.jpg to cos psal ve #4 by mi vzalo jen konec |
||
mimochodec Profil |
#15 · Zasláno: 9. 8. 2012, 17:09:48
Budry:
explode rozdělí text do pole podle toho, co mu zadáš. Zadej tomu upload\images\. |
||
Budry Profil |
#16 · Zasláno: 9. 8. 2012, 17:10:30
Přišlo mi to divné řešit tahle, regulár mi přišel lepší ale nepovedlo se mi ho dát dohroamdy
|
||
Časová prodleva: 12 let
|
0