| 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: 11 let
|
|||
0