Autor | Zpráva | ||
---|---|---|---|
aDAm Profil |
#1 · Zasláno: 10. 2. 2015, 21:31:10
Poradil by někdo jak napsat reguál kde bude prostřední část volitelná?
Tvar může být: string://nejaka/dlouha/cesta/soubor.ext string://soubor.ext zatím to mám takto: preg_match("/\b(?P<storage>[a-zA-Z]+)\:\/\/(?<namespace>[a-zA-Z\/-]+)\/(?<filename>[a-zA-Z-]+).(?P<extension>[a-zA-Z]{3}+)/i", $string, $matches); no a tímto mi projde pouze první tvar. Ten druhý by pak měl vrátit na pozici "namespace" null hodnotu. |
||
1Pupik1989 Profil |
Musíš to obalit do nezachytávané skupiny.
null sice nevrátí, ale vrátí prázdný řetězec.
"~ \b (?P<storage>[a-z]+) :// (?: #Zde je nezachytávaná skupina, (?P<namespace>[a-z/-]+) #která se může vyskytnout / #0-1 krát )? (?P<filename>[a-z-]+) \\. (?P<extension>[a-z]{3}+) ~ix" |
||
aDAm Profil |
#3 · Zasláno: 10. 2. 2015, 21:54:44
1Pupik1989:
perfektní funguje, díky. Šel jsem na to podobně jen jsem tedy to obalení blbě uzavřel ;) |
||
Časová prodleva: 9 let
|
0