Ich will 'n' explodieren diese Zeichenfolge überprüfen:PHP preg_match_all, überprüfen und explodieren
{$gallery#pager/collectionName/imageName/manual/no_effect/foo1/foo2/.../fooN}
zu:
var_name[0] => 'gallery',
modul_name[0] => 'pager',
3[0] => 'collectionName',
4[0] => 'imageName',
5[0] => 'manual'
...
N[0] => 'fooN'
ich folgende regexp gemacht:
/{\$(?P<var_name>[^#]+)#(?P<module_name>[^\/]+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+)(?:\/(\w+))?)?)?)?)?}/
, aber es ist zu hässlich und unterstützt nur bis zu fünf Parameter. Bitte helfen Sie mir einen rekursiven Teil zu machen, um alle Parameter zu extrahieren.
ps: Ja, ich diese zu var_name aufspalten, module_name und paramters Teile, dann kann ich Parameter Teil von '/' explodieren, aber ich mag es nicht.
Richtig, aber ist es nicht validieren. –
Bitte spezifizieren Sie, was genau in Ihrer Frage – Mariano
validiert werden muss '{$ var_name # Modulname}' - dieses Format erforderlich. Argumente sind optional: '{$ var_name # Modulname/arg1/arg2 /.../ argN} 'Alle Namen und Werte (Var-Name, Modul-Name, Argumente) sind durch \ w + prüfbar. –