Autor | Zpráva | ||
---|---|---|---|
panterek Profil |
#1 · Zasláno: 14. 1. 2010, 11:30:24
Zdravím,
asi to bude primitivní blbost, ale cosi mi nejde přijít na syntaxi, případně správnou funkci, která by zajistila tohle: název souboru: $string = 15.fotka.jpg Já potřebuju, abych dostal z php jen "fotka.jpg"..tedy bez toho úvodního čísla. Podařilo se mi to takhle: echo substr($string, 3); Jenže když bude číslo pětimístné, tak to jaksi nebude sedět a počet cifer nebudu znát, číslo bude narůstat.. Potřeboval bych php říct: "udělej výpis řetězce ZA první tečkou" Šlo by to asi vytvořením pole (explode), ale pokud by byla nějaká funkce přímo na tohle, byl bych radši... díky za nápady |
||
panterek Profil |
Tak řešení pomocí explode je taky celkem jednoduché
$prom = "143.nejaka fotka.jpg"; $pole = explode (".", $prom); echo "$pole[1].$pole[2]"; nicméně kdyby někdo poradil pomocí regulárních výrazů, bylo by to supr |
||
imploder Profil |
#3 · Zasláno: 14. 1. 2010, 12:00:12
Jde použít regulární výrazy.
echo preg_replace('/^.*?\.(.*)$/', '$1',$string); viz http://www.regularnivyrazy.info/serial-php-pcre-perl-compatible.html Bez regulárních výrazů to jde taky - prostě najít pozici první tečky cyklem a pomocí substr vybrat všechno za ní (možná je to rychlejší než RV): $i=0; while($string[$i]!='.') $i++; echo substr($string, $i+1); |
||
panterek Profil |
#4 · Zasláno: 14. 1. 2010, 12:21:12
Ha, to je přesně ono...díky moc
|
||
Joker Profil |
#5 · Zasláno: 14. 1. 2010, 12:24:23
A co třeba taková funkce strstr?
|
||
Časová prodleva: 14 let
|
0