正则高手进 为什么取的不是11 而是 11 <a> 22呢? $a = '<a> 22 <a> 11 </a>'; preg_match_all('/<a>(.+?(?!<a>))<\/a>/is',$a,$b); print_r($b); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 preg_match_all('/<a>[\s]*([\s\w]*)<\/a>/i',$a,$b); print_r($b); 输出结果是:Array ( [0] => Array ( [0] => 22 11 ) [1] => Array ( [0] => 22 11 ) )(?!<a>)表示后面不跟随<a>,因为里面有两对(),所以输出两个结果。22和<a>之间有空格,所以22也是满足条件。 preg_match('/<a>((?:.(?<!<a>))*)<\/a>/sm', $a, $arr); print_r($arr); 谢谢高手1楼的方法也可以,虽然不完美 所以也给了点分还有点不明白的 .*(?!<a>) 和 (.(?!<a>))* 的区别另外 . 也能匹配空格吧 哪位帮忙看一下以下测试php64位的程序如何理解?谢谢 弹出窗口中的内容不更新。 php读取xml 给js解析的问题 如何向 FCK 编辑框插入内容。。 PHP中怎么对URL地址进行编码后显示和解码 重写文件问题 关于输出程序的问题 ?? 请问,php中终止叶面执行是哪个函数爱? 浏览目录 一个php的小问题! php字符串取字串怎么做好; 问一个超傻瓜的问题,为什么要装php?
print_r($b);
print_r($arr);
谢谢高手
1楼的方法也可以,虽然不完美 所以也给了点分
还有点不明白的 .*(?!<a>) 和 (.(?!<a>))* 的区别
另外 . 也能匹配空格吧