作者grassboy2 (活力花俏草儿仔政﹞O花俏)
看板RegExp
标题Re: [问题] preg_match_all抓取所有<div>....</div>
时间Sat Jul 11 23:32:48 2009
: 内容很简单:
<div>我是测试行</div>
<div>我是美女图<img src="http//beauty.jpg" /></div>
<div>我是<a href="http//yaya.com">无聊的测试</a></div>
: 想要问一下…有没有办法用一次的preg_match_all()
: 就抓到
: [1] => "我是测试行"
: [2] => "我是美女图<img src="http:/beauty.jpg" />"
: [3] => "我是<a href="http:/yaya.com">无聊的测试</a>"
耶逗…补充说明~
我原本用的pattern 是 "/<div>(.*)<\/div>/"
喂上面的内容他会抓到的是
[1] => "我是测试行</div>
<div>我是美女图<img src="http//beauty.jpg" /></div>
<div>我是<a href="http//yaya.com">无聊的测试</a>"
也就是说,他抓到的是最长匹配字串…
但这不是我要的><~
目前我是另外用php split()的方式把</div>截掉,再针对每个<div>去处理
但…应该有更漂亮的方法吧@@~
例如我pattern中的(.*)可以指定说中间的字串不包含</div>的写法之类的…
还是说在"/<div>(.*)<\/div>/"的结尾可以加什麽tag之类的?
感谢大家的帮助><~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.87.174
1F:推 bibo9901:原来那篇的推文就有解法了 07/11 23:51
2F:→ thitbbeb:= =,我照你原本的语法…没问题啊…不会抓到<div>啊 07/12 01:04
3F:→ thitbbeb:preg_match_all("/<div>(.*?)<\/div>/",文字,存放变数) 07/12 01:05
4F:→ thitbbeb:变数[1][0] 变数[1][1]变数[1][2] 语法没问题啊= = 07/12 01:05
5F:→ kornelius:(.*) greedy match , (.*?) non-greedy match 08/07 09:30