遇到一个正则匹配的问题拿出来聊下 [ 求助交流 ]
$string = '<ul class="A"><li>A</li><li>B</li><li>C</li><li>D</li></ul>
<ul class="B"><li>A</li><li>B</li><li>C</li><li>D</li></ul>
<ul class="C"><li>A</li><li>B</li><li>C</li><li>D</li></ul>';
preg_match_all('|<ul class="A">(<li>.*?</li>)*</ul|', $string, $tmpArr);
var_dump($tmpArr);
exit;
说明 有3个ul 想通过clss来一次匹配对应 ul下的li, 但是结果只能匹配到最后一个li
array(2) {
[0]=>
array(1) {
[0]=>
string(58) "<ul class="A"><li>A</li><li>B</li><li>C</li><li>D</li></ul"
}
[1]=>
array(1) {
[0]=>
string(10) "<li>D</li>"
}
}
目前的做法是把 ul提取出来然后再次匹配li做2次
有什么好的想法吗?
BoyLee
注册时间:2011-03-10
最后登录:2019-12-26
在线时长:20小时5分
最后登录:2019-12-26
在线时长:20小时5分
- 粉丝22
- 金钱2810
- 威望150
- 积分4510