怎么用simple html dom获取div块内table里的tr数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用simple html dom获取div块内table里的tr数据相关的知识,希望对你有一定的参考价值。

参考技术A 参考代码如下:
<html>
<head>
<meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312">
<title>Js获取
table当前行的值</title>
<script
language=javascript>
var
selectedTr=null;
function
c1(obj)
obj.style.backgroundColor='blue';
//把点到的那一行变希望的颜色;
if(selectedTr!=null)
selectedTr.style.removeAttribute("backgroundColor");
if(selectedTr==obj)
selectedTr=null;//加上此句,以控制点击变白,再点击反灰
else
selectedTr=obj;

/*得到选中行的第一列的值*/
function
check()
if(selectedTr!=null)
var
str=selectedTr.cells[0].childNodes[0].value;
document.getElementById("lab").innerHTML=str;

else
alert("请选择一行");


/*删除选中行*/
function
del()
if(selectedTr!=null)
if(confirm("确定要删除吗?"))
alert(selectedTr.cells[0].childNodes[0].value);
var
tbody=selectedTr.parentNode;
tbody.removeChild(selectedTr);


else
alert("请选择一行");


</script>
</head>
<body>
单击选中Tr,高亮显示,再单击取消选选中。<input
type=button
value="选中的是哪一行?"
onclick="check()">
<input
type=button
value="删除选中行"
onclick="del()">
<input
type=button
value="增加一行"
onclick="add()">
<table
width="100%"
border="1"
cellspacing="0"
cellpadding="0"
id="tab">
<tr
onclick="c1(this);"
bgcolor="#cccccc">
<td
><input
type="text"
value="11"> </td>
<td><input
type="text"
value="12"></td>
</tr>
<tr
onclick="c1(this);"
bgcolor="#e0e0e0">
<td
><input
type="text"
value="21"> </td>
<td><input
type="text"
value="22"></td>
</tr>
<tr
onclick="c1(this);"
bgcolor="#cccccc">
<td
><input
type="text"
value="31"> </td>
<td><input
type="text"
value="32"></td>
</tr>
<tr
onclick="c1(this);"
bgcolor="#e0e0e0">
<td
><input
type="text"
value="41"> </td>
<td><input
type="text"
value="42"></td>
</tr>
<tr
onclick="c1(this);"
bgcolor="#cccccc">
<td
><input
type="text"
value="51"> </td>
<td
><input
type="text"
value="52"> </td>
</tr>
</table>
<label
id="lab"></label>
</body>
</html>

PHP Simple Html Dom 解析一个 php 表单

【中文标题】PHP Simple Html Dom 解析一个 php 表单【英文标题】:PHP Simple Html Dom parsing a php form 【发布时间】:2014-01-18 17:08:32 【问题描述】:

我有这个 php 页面:

exercice_submit.php?exerciseId=7

里面有几个嵌套的div

<div id="container">
<div id="content">
<div id="content_main">

在最后一个 div 里面有一个表单:

<form action="/modules/exercice/exercice_submit.php" method="post">

我想剪掉所有其他的 html 标签,只保留表单中包含的内容。 你能帮我解析一下这个页面吗?

我用的是PHP Simple HTML DOM,我写的:

    // example of how to use basic selector to retrieve HTML contents
    include('../simple_html_dom.php');
    
    // get DOM from URL or file
    $html = file_get_html('exercice/exercice_submit.php');
    
    echo $html->find("#content_main",0);
    echo $html->outertext
    
    ?>

这似乎不起作用。如果你能帮助我,也许你知道一种将提交按钮目标更改为提交到不同 php 的方法。

提前感谢所有可能的答案。

【问题讨论】:

请从$html发布标记 【参考方案1】:

我没有使用过 file_get_html,但您可以使用 file_get_contents 将其加载到字符串中,然后在 "

" 上使用 substr 和 strpos 来获取表单。

http://www.php.net/manual/en/function.strpos.php

http://www.php.net/manual/en/function.substr.php

http://www.php.net/file_get_contents

【讨论】:

以上是关于怎么用simple html dom获取div块内table里的tr数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP Simple HTML DOM Parser 在 HTML 文件中找到最后一个 <div class>?

使用 php simple html dom 抓取时需要帮助修复 html [重复]

PHP Simple Html Dom 解析一个 php 表单

使用 PHP Simple HTML DOM Parser 获取文本

php利用simple_html_dom类,获取页面内容,充当爬虫角色

PHP Simple HTML Dom:获取childNodes nodeValue?