永发信息网

请问正则如何取出指定UL标签里的所有li文本内容?

答案:2  悬赏:40  手机版
解决时间 2021-02-26 15:52
  • 提问者网友:一抹荒凉废墟
  • 2021-02-25 17:15
<ul id='e5e'>
<li><a>e5e1</a></li>
<li><a>e5e2</a></li>
</ul>
<ul id='x6'>
<li><a>x61</a></li>
<li><a>x62</a></li>
</ul>
<ul id='dd2'>
<li><a>dd21</a></li>
<li><a>dd22</a></li>
</ul>

请问用正则表达式取出x61 x62?这个内容是不固定的,现在程序设计只能进行一次表达式计算,不能分步提取。求大神帮忙,谢谢了。
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-02-25 17:42
var getU = function(html, ul_id){
    var reg = new RegExp("[\\s\\S]*<ul[^>]+id[=\"\']+"+ul_id+"[\"\']?[^>]*>((?:(?!<\/ul>)[\\s\\S])*)<\/ul>[\\s\\S]*","gi");
    var str = html.replace(reg,"$1");
    var regex = /<a>((?:(?!<\/a>)[\s\S])*)<\/a>/gi;
    var arr = [];
    while(regex.exec(str)){
        arr.push(RegExp.$1);
    }
    return arr;
}

var html = "<ul id='e5e'>\r\n<li><a>e5e1</a></li>\r\n<li><a>e5e2</a></li>\r\n</ul>\r\n<ul id='x6'>\r\n<li><a>x61</a></li>\r\n<li><a>x62</a></li>\r\n</ul>\r\n<ul id='dd2'>\r\n<li><a>dd21</a></li>\r\n<li><a>dd22</a></li>\r\n</ul>";

var ul_id = "x6";
var arr = getU (html, ul_id);
console.log(arr);
全部回答
  • 1楼网友:冷風如刀
  • 2021-02-25 19:00
&lt;?php $str = ' &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt;内容
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯