我要檢查 'N' 爆炸字符串:PHP preg_match_all,檢查和爆炸
{$gallery#pager/collectionName/imageName/manual/no_effect/foo1/foo2/.../fooN}
到:
var_name[0] => 'gallery',
modul_name[0] => 'pager',
3[0] => 'collectionName',
4[0] => 'imageName',
5[0] => 'manual'
...
N[0] => 'fooN'
我做了如下正則表達式:
/{\$(?P<var_name>[^#]+)#(?P<module_name>[^\/]+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+))?)?)?)?)?}/
,但它太難看,只支持五個參數。 請幫我做一個遞歸部分來提取所有參數。
PS:是的,我可以拆分這VAR_NAME,MODULE_NAME和paramters部分,那麼我可能會爆炸參數部分由 '/',但我不喜歡它。
對,但不驗證它。 –
請指明您的問題確切需要驗證的內容 – Mariano
'{$ var_name#module_name}' - 需要此格式。參數是可選的:'{$ var_name#module_name/arg1/arg2 /.../ argN}'所有名字和值(var名稱,模塊名稱,參數)都可以用\ w +來檢查。 –