我在PHP中有这样的字符串
<li>bla bla bla bla</li>
<li>hello hello</li>
<li>the brown fox didnt jump</li>
.
.
.
<li>aaaaaaarghhhh</li>
我想得到一个包含第一个X li的字符串(结果字符串中包含li标签)
<li>.....first one....</li>
<li>.....second one....</li>
<li>.................</li>
<li>.....X one....</li>
如何使用REGEX或其他方式完成?
我可以删除
</li>
随后爆炸
<li>
并获取数组的前X个元素,然后在每个元素的开头和结尾再添加li标签,但我认为它太脏...
有更好的想法吗?
答案 0 :(得分:4)
查看此正则表达式是否适合您(将数字2替换为所需的li数):
((?:<li>.*?<\/li>){2})
答案 1 :(得分:2)
如何使用PHP Simple HTML DOM Parser
将其解析为实际DOM元素您可以从此处下载脚本:http://sourceforge.net/projects/simplehtmldom/files/
如果您将该脚本加载到当前脚本中,请执行以下操作:
include_once("simple_html_dom.php");
然后它就像:
一样简单$html = "<li>bla bla bla bla</li>, etc, etc ......";
$list_array = array();
foreach($html->find('li') as $element) {
$list_array[] = $element->innertext;
}