php 正则匹配 html,纠结几天了,在线等等!!! 10
//html字符串$html="<fontstyle=\"size:9px;color:#666666\">测试</font><divclass=\"PostConten...
//html 字符串
$html = "<font style=\"size:9px; color:#666666\">测试</font><div class=\"PostContent\"> <div style=\"float:right; padding: 0px;\">
</div><div><img style=\"border: solid 1px #383c40; \" src=\"http://ecx.images-amazon.com/images/I/517UUOqIc7L._SX220_.jpg\" width=\"220\" border=\"0\" title=\"古董局中局2:清明上河图之谜\"></div></div>";
//开始匹配
$reg = "#^<div class=\"PostContent\"> <div style=\"[\S\s]*?\">
</div><div><img style=\"[\S\s]*?\" src=\"(?<imgurl>[^\"\"]*?)\"[\S\s]*?title=\"(?<bookname>[^\"\"]*?)\"></div></div>#";
if(preg_match($reg,$html,$res))
{
echo $res;
}
为啥匹配不上呢?是不是#分割符的原因。$html 中有#号
应该不是分隔符#号的原因,把$html中的#号删除还是不行,难道是要匹配的内容前面有其他字符就不能匹配成功吗,如:要匹配的<div>段前面有<span>标签,神奇的php 唉唉 展开
$html = "<font style=\"size:9px; color:#666666\">测试</font><div class=\"PostContent\"> <div style=\"float:right; padding: 0px;\">
</div><div><img style=\"border: solid 1px #383c40; \" src=\"http://ecx.images-amazon.com/images/I/517UUOqIc7L._SX220_.jpg\" width=\"220\" border=\"0\" title=\"古董局中局2:清明上河图之谜\"></div></div>";
//开始匹配
$reg = "#^<div class=\"PostContent\"> <div style=\"[\S\s]*?\">
</div><div><img style=\"[\S\s]*?\" src=\"(?<imgurl>[^\"\"]*?)\"[\S\s]*?title=\"(?<bookname>[^\"\"]*?)\"></div></div>#";
if(preg_match($reg,$html,$res))
{
echo $res;
}
为啥匹配不上呢?是不是#分割符的原因。$html 中有#号
应该不是分隔符#号的原因,把$html中的#号删除还是不行,难道是要匹配的内容前面有其他字符就不能匹配成功吗,如:要匹配的<div>段前面有<span>标签,神奇的php 唉唉 展开
2014-05-31
展开全部
#在正则里表示含义么?如果表示含义。那么请试用对应的转义符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询