создавать свои собственные короткие ярлыки с помощью регулярных выражений? - PullRequest
1 голос
/ 14 ноября 2011

Допустим, у меня есть следующее регулярное выражение короткого тега:

\[BANNER{([0-9]*)}{(site1|site2)}{([A-Z]*)}\]

В основном у меня есть CMS, который должен взять этот короткий тег, например:

[BANNER{23}{site1}{HELLO}]

и распечатать что-нибудькак это:

<a href='http://site1.com?par1=23&par2=HELLO'>SOME TEXT</a>

Теперь, это прекрасно работает, когда я вводю все эти 3 параметра, но как я могу сделать их необязательными ?так что он примет любой из следующих параметров:

[BANNER]
[BANNER{23}]
[BANNER{23}{site1}]

и выведет что-то по умолчанию, я думал о создании группы захвата для каждой из фигурных скобок {} - но я предполагаю, что получил синтаксиснеправильно.

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011

Это должно работать:

/\[BANNER{([0-9]*)}(?:{(site1|site2)})?(?:{([A-Z]*)})?\]/

Посмотреть результат здесь

2 голосов
/ 14 ноября 2011

Если я правильно понял вопрос, вы можете начать с

\[BANNER({([0-9]*)})?({(site1|site2)})?({([A-Z]*)})?\]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...