如果我有一个 HTML 块并且想要获取某些节点和子节点的确切 HTML 内容,例如<ul>
下面的块,我应该使用类似的东西preg_match
还是解析内容或类似DOM Parsing的东西?
输入
<html>
<head>
</head>
<body>
<h2>List</h2>
<ul class="my-list" id="my-list">
<li class="item first">item1</li>
<li class="item second">item2</li>
<li class="item third">item3</li>
</ul>
</body>
</html>
期望的输出
<ul class="my-list" id="my-list">
<li class="item first">item1</li>
<li class="item second">item2</li>
<li class="item third">item3</li>
</ul>
如您所见,我想保留所有属性(类、ID 等)。
我知道通过DOM
解析我可以访问所有这些属性$items->item($i)->getAttribute('class')
((我知道DOM
有echo $DOM->saveXML()
,但我相信这只是针对整个页面。
我知道如何使用正则表达式和 PHP 相当容易地完成此任务,但我认为这不是一个好习惯。
使用 jQuery 非常简单:
jQuery('ul').clone()
我怎样才能用 PHP 实现同样的目标?(获取远程 HTML,并使用 DOM 获取其中的一部分并再次将其输出为 HTML)