在这个问题中,我基本上是在寻求一些正则表达式的帮助。
下面是我目前使用的模式:
preg_match_all("~\[([^\]]+)=([^\[]+)\]~", $search, $matches, PREG_SET_ORDER);它适用于:
'[name=test][type=select]'结果:
MATCH 1
1. [1-5] `name`
2. [6-10] `test`
MATCH 2
1. [12-16] `type`
2. [17-23] `select`问题来了
'[for=event[schedule]]'显然,所发生的事情是额外的[和]阻止正则表达式匹配字符串。
我正在寻找关于如何修复regex模式以获得此输出的建议:
MATCH 1
1. [1-3] `for`
2. [5-19] `event[schedule]`发布于 2014-12-21 23:09:05
如果您想可选地匹配[...]部件:
preg_match_all('~\[([^\]]+)=([^\]\[]+(?:\[[^\]]+\])?)\]~', $search, $matches, PREG_SET_ORDER);要求:
preg_match_all('~\[([^\]]+)=([^\]\[]+\[[^\]]+\])\]~', $search, $matches, PREG_SET_ORDER);https://stackoverflow.com/questions/27594627
复制相似问题