正则如何匹配div下的所有<li>标签?

<?php
header(‘Content-Type:text/html;charset=utf-8‘);

$str = ‘<div class="c1s">
  <li><a href="#">111111111</a></li>
  <li><a href="#">222222222</a></li>
  <li><a href="#">333333333</a></li>
  <li><a href="#">444444444</a></li>
</div>‘;

// 如果内容很多,可以首先匹配出div中的内容
preg_match(‘/<div class=\"c1s\">(.*?)<\/div>/is‘,$str,$re);
// 匹配li中的内容
preg_match_all(‘/<li><a href=\"(.*?)\">(.*?)<\/a><\/li>/is‘,$re[1],$lt);

var_dump($lt[2]);// 这就是你想要的结果
时间: 2024-08-09 07:24:05

正则如何匹配div下的所有<li>标签?的相关文章

将所有div下的所有li的名字设为&quot;哈哈&quot;,当点击的时候设为&quot;我被点击了&quot;,其余没有点击的依然设为“哈哈”

<1> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title&

div a 和 div &gt; a 的区别———后者指作用到div下一级的 a 标签 ,仅一级

如: <div> <a href="#">可以作用到</a> <ul> <i><a href="#">作用不到</a></i> <i></i> </ul> <p><a href="#">作用不到</a></p> </div>

div放在li标签中,无法撑开li标签的问题

作为一个前端菜鸟,我又碰到问题了,今天把div放到li标签中,发现div并没有把li标签撑开,而是在li标签边界之外,具体情况如下图所示: 那么,怎样才能达到预期的效果(每个li中放置一个div标签,并且显示li的下边框)?只需要修改li标签的overflow属性即可,如下代码所示: li{ overflow: auto; } ok,问题完美解决,效果如下: ---------------------------------------------------------------------

当父盒子的宽装不下li标签的时候

当父盒子的宽装不下需要的li标签的时候(li标签用foat时),可以把ul标签作为一个盒子,赋予它的宽度大于需要的一排的盒子宽度,小于(一排+1)个盒子宽度. 原效果图: 先效果图: 原代码: 现代码: 因为祖辈元素设置了宽高,并且不能超过他显示,影响美观.所以我们给祖辈元素设置一个overflow:hidden,隐藏多余部分.

jquery选择div下的ul下的li下的a

使用jQuery选择器: $("div#div的id ul li a")//选择的是div下 ul下所有li下的所有a标签 $("div#div的id").children("ul:first").children("li:first").find("a");//div下的第一个ul下的第一个li下的a标签 //可以用下标 $("div#div的id").children("u

jquery如何实现点击LI标签和下面的LI互换顺序? 超简单代码

转: jquery如何实现点击LI标签和下面的LI互换顺序? 上面的效果涉及jquery的两个方法: next()  :  获得匹配元素集合中每个元素紧邻的下一个同胞元素. after() :在被选元素后插入指定的内容. 综合起来,核心代码为 $(".content li").click(function() {       // 点击li元素时     if($(this).next())                    // 如果存在下一个元素         $(this)

原创 正则引擎完工,记录下思路和设计

最近20天都在写这个...终于完工了(走向无尽的重构道路...)...感谢VC聚聚的博文和RE2作者的博客指导,感谢VC聚聚的源码参考.非常感谢!启发很大.vc聚聚的正则语法树遍历部分的方案.真是精妙!之前我虽然知道用Visitor模式遍历异构树,但是不知道怎么写vistor的框架满足需求.用的时候不断地感叹设计的好.不过我也就抄了这块框架代码:)因为实现的太好了.其他都是根据博文给的参考设计自己去想设计和实现 整个引擎实现了http://blog.csdn.net/lxcnn/article/

基于php常用正则表达整理(下)

61        \n 匹配一个换行符.等价于 \x0a 和 \cJ.62        \r 匹配一个回车符.等价于 \x0d 和 \cM.63        \s 匹配任何空白字符,包括空格.制表符.换页符等等.等价于[ \f\n\r\t\v].64        \S 匹配任何非空白字符.等价于 [^ \f\n\r\t\v].65        \t 匹配一个制表符.等价于 \x09 和 \cI.66        \v 匹配一个垂直制表符.等价于 \x0b 和 \cK.67      

浮动元素的兼容以及ie6下li标签的部分兼容性问题

清除浮动的方法有许多比较常用的是 .clear{zoom: 1;} .clear:after{content: "";display: block;clear: both;} after伪类元素末尾添加内容Ie6,7不兼容可以用zoom来解决(zoom缩放会触发ie下的haslayout使元素根据自身内容计算宽高但火狐不支持但可以通过after伪类解决) 两者结合解决的浏览器不兼容的问题: ie6下li标签的部分兼容性问题: 可以通过给li标签加 vertical-align: top