用PHP进行DOM操作
我想用PHP对DOM元素进行一个简单但非琐碎的操作,但我迷路了 假设像维基百科这样的页面上有段落和标题(用PHP进行DOM操作,php,dom,parsing,Php,Dom,Parsing,我想用PHP对DOM元素进行一个简单但非琐碎的操作,但我迷路了 假设像维基百科这样的页面上有段落和标题(,)。他们是兄弟姐妹。我想把这两个元素按顺序排列 我尝试了GetElementbyName,但是您无法组织信息。 我尝试了DOMXPath->query(),但我发现它确实令人困惑 只需解析如下内容: <html> <head></head> <body> <h2>Title1</h2> <p
,
)。他们是兄弟姐妹。我想把这两个元素按顺序排列
我尝试了GetElementbyName
,但是您无法组织信息。
我尝试了DOMXPath->query()
,但我发现它确实令人困惑
只需解析如下内容:
<html>
<head></head>
<body>
<h2>Title1</h2>
<p>Paragraph1</p>
<p>Paragraph2</p>
<h2>Title2</h2>
<p>Paragraph3</p>
</body>
</html>
标题1
第1段
第2段
标题2
第3段
进入:
标题1
第1段
第2段
标题2
第3段
有了一些HTML代码,我就不需要了
多谢各位。我希望这个问题看起来不像家庭作业。我认为
DOMXPath->query()
是正确的方法。此XPath表达式将返回属于同一级别的
或
的所有节点(因为您说过它们是兄弟节点)
/html/body/*[name()='p'或name()='h2']
节点将以正确的顺序(文档顺序)返回。然后,您可以在结果上构造一个foreach循环。我使用了S.C.Chen的简单html dom几次 访问dom元素的完美类 例如:
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');
// Find all images
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';
//从URL或文件创建DOM
$html=file\u get\u html('http://www.google.com/');
//查找所有图像
foreach($html->find('img')作为$element)
echo$element->src'
';
//查找所有链接
foreach($html->find('a')作为$element)
echo$element->href
';
看看这里
可能对将来的项目有帮助请尝试查看此库和相应的项目:
这允许您从文件系统打开在线网页或html页面,并通过类名、标记名和ID访问其项。如果您熟悉jQuery及其语法,就不需要花时间来习惯这个库。正是我想要的。我不得不加入一些div,但效果很好。非常感谢你。 /html/body/*[name() = 'p' or name() = 'h2']
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');
// Find all images
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';