Maska pro nepovinný parametr mezi povinnými

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Lawondyss
Člen | 106
+
0
-

Zdravím lidi,

jsem v situaci, kdy potřebuju masku, pro případ nepovinného parametru mezi povinnými.

Příklad:

[
	'category' => 1,
	'seo' => 'krasne-url/pro-kategorii',
	'page' => 1,
]

$routeMask = '/<category>[/<seo>]/stranka-<page>'

Potíž nastane ve chvíli, kdy pro URL 'seo' => null, pak je totiž při překladu do presenteru 'seo' => stranka-1, 'page' => null což je zásadní problém.

Napadlo mě řešit to regexem, který v masce řekne, že seo nesmí začínat řetězcem stranka, ale takový regex se mi nedaří sestavit.

Napadá někoho jak to řešit?

CZechBoY
Člen | 3608
+
-1
-

Možná [/<seo !^stranka>]

Editoval CZechBoY (8. 8. 2014 14:38)

Lawondyss
Člen | 106
+
0
-

CZechBoY napsal(a):

Možná [/<seo !^stranka>]

nefunguje :-(

Lawondyss
Člen | 106
+
0
-

Nakonec zabral toto: [/<seo (?:(?!stranka).)+>]