[英]css / jQuery attribute selector in php
在这个问题上,我实质上是在寻求有关正则表达式的帮助。
这是我当前正在使用的模式:
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]]'
显然,发生的是多余的[
和]
阻止了正则表达式与字符串匹配。
我正在寻找有关如何修复正则表达式模式以获取此输出的建议:
MATCH 1
1. [1-3] `for`
2. [5-19] `event[schedule]`
如果要选择匹配[...]
部分:
preg_match_all('~\[([^\]]+)=([^\]\[]+(?:\[[^\]]+\])?)\]~', $search, $matches, PREG_SET_ORDER);
要求它:
preg_match_all('~\[([^\]]+)=([^\]\[]+\[[^\]]+\])\]~', $search, $matches, PREG_SET_ORDER);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.