php 将html转换成数组
导读:使用PHP将HTML转换成数组HTML是一种用于描述网页结构的标记语言,而PHP是一种用于服务器端编程的脚本语言。PHP提供了丰富的函数和方法来处理HTML,包括将HTML转换成数组的功能。通过将HTML转换成数组,我们可以更方便地对网页进...
使用PHP将HTML转换成数组
HTML是一种用于描述网页结构的标记语言,而PHP是一种用于服务器端编程的脚本语言。PHP提供了丰富的函数和方法来处理HTML,包括将HTML转换成数组的功能。通过将HTML转换成数组,我们可以更方便地对网页进行分析、提取数据或者进行其他操作。
假设我们有一个包含一张书籍列表的HTML代码:
div class="book">
h2>
PHP编程指南/h2>
p>
作者: 张三/p>
p>
价格: $19.99/p>
/div>
div class="book">
h2>
JavaScript入门教程/h2>
p>
作者: 李四/p>
p>
价格: $18.99/p>
/div>
我们可以使用PHP的DOMDocument类来将上述HTML代码转换成数组。以下是一个示例代码:
$html = 'div class="book">
h2>
PHP编程指南/h2>
p>
作者: 张三/p>
p>
价格: $19.99/p>
/div>
div class="book">
h2>
JavaScript入门教程/h2>
p>
作者: 李四/p>
p>
价格: $18.99/p>
/div>
';
$dom = new DOMDocument();
$dom->
loadHTML($html);
$books = array();
foreach ($dom->
getElementsByTagName('div') as $div) {
if ($div->
getAttribute('class') === 'book') {
$book = array();
$book['title'] = $div->
getElementsByTagName('h2')[0]->
nodeValue;
$book['author'] = $div->
getElementsByTagName('p')[0]->
nodeValue;
$book['price'] = $div->
getElementsByTagName('p')[1]->
nodeValue;
$books[] = $book;
}
}
print_r($books);
以上代码首先创建了一个空数组$books来存储书籍信息。然后,使用DOMDocument的loadHTML方法将HTML代码加载进来。接着,通过getElementsByTagName方法寻找所有的元素,并通过getAttribute方法判断是否具有class属性,并且class属性值为"book"。如果是,则将书籍的标题、作者和价格存储到$book数组中,再将$book数组存储到$books数组中。最后,通过print_r函数打印出$books数组的内容。
运行以上代码,将得到如下结果:
Array([0] =>
Array([title] =>
PHP编程指南[author] =>
作者: 张三[price] =>
价格: $19.99)[1] =>
Array([title] =>
JavaScript入门教程[author] =>
作者: 李四[price] =>
价格: $18.99))上述结果为一个二维数组,每个元素代表一本书籍的信息,包括标题、作者和价格。
通过将HTML转换成数组,我们可以方便地对网页进行数据提取和处理。无论是爬虫程序还是数据分析工作,这个功能都极为实用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php 将html转换成数组
本文地址: https://pptw.com/jishu/561327.html
