php - 使用 php simple html dom 抓取时需要帮助修复 html
问题描述
require_once 'phpDomClass.php';
$html = '<div>
<div class="man">Name: madac</div>
<div class="man">Age: 18
<div class="man">Class: 12</div>
</div>'
$name=$html->find('div[class="man"]', 0)->innertext;
$age=$html->find('div[class="man"]', 1)->innertext;
$cls=$html->find('div[class="man"]', 2)->innertext;
想从每个 div class="man" 获取文本,但它不起作用,因为 html 代码的第 2 行缺少结束 div 标记。请帮我解决这个问题。
提前致谢。
解决方案
在这种情况下,您必须先进行一些难看的字符串操作,然后再尝试使用 DOM 解析器对其进行解析。如果这是一次性的,你可以做这样的事情
<?php
require_once 'phpDomClass.php';
$html = '<div>
<div class="man">Name: madac</div>
<div class="man">Age: 18
<div class="man">Class: 12</div>
</div>';
$html = str_replace('<div class="man">Class:','</div><div class="man">Class:',$html);
$dom = new DomDocument();
$dom->loadHTML($html);
$name=$html->find('div.man', 0)->innertext;
$age=$html->find('div.man', 1)->innertext;
$cls=$html->find('div.man', 2)->innertext;
推荐阅读
- python - 如何让我的助手通过某个短语激活
- vue.js - 将 vuex-persistedstate 与 vuejs-enterprise-boilerplate 集成
- dialogflow-es - 如何在 Chatbot 框架中使用自定义逻辑
- javascript - 如何用针制作量表
- xml - 如果 id 重复,则使用 xslt 更改重复的 id
- php - 我怎样才能用 CSV 文件解决这个逗号问题?
- python - 停止函数运行两次
- c++ - QT 中用于 gstreamer 视频传输的 C++ UDP 侦听器
- webpack - 将ckeditor集成到jhipster实体网页
- r - R用分组数据创建一个新变量