php正则匹配多处内容 50

第一个问题:如何精确结束标签如:<divclass="a">XXXXXXXX<divclass="b">内容</div>XXXXXXX</div>匹配<divclass=... 第一个问题:如何精确结束标签如:
<div class="a">XXXXXXXX
<div class="b">内容</div>XXXXXXX</div>
匹配<div class="b">内容</div>
第二个问题:不同的文章内容不在同一标签下,如何匹配
我写两次内容匹配时,就不行了.
<div class="b">内容</div>
<div class="c">内容</div>
preg_match('/<div class="b">(.*)<\/div>/is',$list,$arr);
preg_match('/<div class="c">(.*)<\/div>/is',$list,$arr);
这样写不行
如何进行判断当
<div class="b">内容</div>里的内容不存在时,匹配
<div class="c">内容</div>里的内容
展开
 我来答
novice_pegasus
2013-02-08 · TA获得超过624个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:647万
展开全部
第一个问题:
preg_match("/<div.*?>((?:(?!<div).)+?)<\/div>/", $content, $match);
echo $match[1];

第二个问题,LZ是不是想匹配出b、c中先出现的一处中的内容?这样的话:
$content = '
<div class="b">内容</div>

<div class="c">内容</div>';

preg_match("/<div\sclass=\"[bc]\">(.+?)<\/div>/", $content, $match);
echo $match[1];
追问
preg_match('/\(.*) /isU',$arr,$body);
preg_match("/g_oBlogContent = '(.*)'/isU",$arr,$body);
实际中是这样的,一个是HTML里的内容,一个是JSON里的内容,
这样如何匹配,

@preg_match("/(.+?)/",$content, $match) or (preg_match("/g_oBlogContent = '(.*)'/",$content,$match));
这样写是对的吗?
追答
改用非贪婪啊不就行了? 大哥不是就那么简单吧

/(.*?) /isU
/g_oBlogContent = '(.*?)'/isU
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
词弯0
2017-08-10 · TA获得超过842个赞
知道小有建树答主
回答量:1223
采纳率:80%
帮助的人:294万
展开全部
<div class="[a-z]+">.+?</div> 两个问题都能用这个 具体的加\ 你自己加吧
第一个因为你要匹配b的内容,特征是只有b类时有完整的<div></div> 结构
第二个的话 因为你B里不存在内容所以<div class="[a-z]+">.+?</div> 里面的+就保证了必须要有一个
.+? 用非贪婪模式保证只匹配到最小的一个<div></div>
第二个用match_all 那个函数匹配
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网络反编
2013-02-08 · TA获得超过715个赞
知道小有建树答主
回答量:781
采纳率:0%
帮助的人:548万
展开全部
preg_match_all("/<div\sclass=\"([^\"]*)\">([^<]*)<\/div>([^<]*)<\/div>/",$list_html,$p);

$p[1][$i] = class
$p[2][$i]=内容
$p[3][$i]=xxxxxxx
追问
第一个精确匹配内容结束的没解决
第二个两处内容
内容

内容
preg_match('/(.*)/is',$list,$arr);
preg_match('/(.*)/is',$list,$arr);
这样写不行
如何进行判断当
内容里的内容不存在时,匹配
内容里的内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式