【发布时间】:2018-03-19 22:13:24
【问题描述】:
我正在使用 domDocument 来计算 html 表中的行数。这是我的代码
if(isset($_POST['List']) && $_POST['List'] == true)
{
$data = file_get_contents('File.php');
$dom = new domDocument;
@$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$table = $dom->getElementById('Table');
$rows = substr_count($table, "<tr>");
for($x=0;$x<$rows;$x++)
{
}
}
单步执行代码,$rows 为空。 这是$table的内容
tagName:"table"
schemaTypeInfo:null
nodeName:"table"
nodeValue:"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCategoryAMA1A2ABBECCEC1C1EDDED1D1EW\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t"
nodeType:1
parentNode:"(object value omitted)"
childNodes:"(object value omitted)"
firstChild:"(object value omitted)"
lastChild:"(object value omitted)"
previousSibling:"(object value omitted)"
nextSibling:null
attributes:"(object value omitted)"
ownerDocument:"(object value omitted)"
namespaceURI:null
prefix:""
localName:"table"
baseURI:null
textContent:"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCategoryAMA1A2ABBECCEC1C1EDDED1D1EW\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t"
我已将代码更改如下
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$doc = new domDocument();
@$doc->loadHTMLFile($url);
$table = $doc->getElementById('Table');
$rows = $table->getElementsByTagName('tr');
$count = count($rows);
我提交了表格中包含 2 行的表单,但计数为 1。 这是$table的内容
tagName:"table"
schemaTypeInfo:null
nodeName:"table"
nodeValue: "\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCategoryAMA1A2ABBECCEC1C1EDDED1D1EW\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t"
nodeType:1
parentNode:"(object value omitted)"
childNodes:"(object value omitted)"
firstChild:"(object value omitted)"
lastChild:"(object value omitted)"
previousSibling:"(object value omitted)"
nextSibling:null
attributes:"(object value omitted)"
ownerDocument:"(object value omitted)"
namespaceURI:null
prefix:""
localName:"table"
baseURI:null
textContent: "\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCategoryAMA1A2ABBECCEC1C1EDDED1D1EW\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t"
loadHTMLFile 和 file_get_contents 有同样的限制,只能看到原始的 html 吗?
【问题讨论】:
标签: php domdocument