[英]PHP - DOM Parser will not return string
好的,我有一個HTML DOM解析器。 它可以...排序。 它正在嘗試從div女巫上課的課文中獲取文字。
查看主文件
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js">
</script>
<style>
#txt_out {
border: 2px solid #C2C2C2;
color: #2E2E2E;
background: #EDEDED;
width: 97%;
padding: 5px;
font-size: 12px;
font-family: monospace;
outline: none;
height: 800px;
margin: 10px 0;
}
</style>
<title>Get Ranks</title>
<script type="text/javascript" >
$(document).on("click", ".go", function (event) {
var ID = $(".rank").val();
console.log("Loading rank: " + ID);
loadData(ID);
});
function loadData(ID) {
var getRank = ID;
var dataString = 'getRank=' + getRank;
$.ajax({
type: "POST",
url: "otherTest.php",
data: dataString,
cache: false,
success: function (html) {
$("#txt_out").append(html);
}
});
}
</script>
</head>
<body>
<h1>Get Mens Rankings</h1>
<input value="233" class="rank" />
<button class="go">Get stats</button>
<textarea readonly="readonly" id="txt_out"></textarea>
</body>
</html>
然后點擊“獲取統計信息”按鈕,就會(通過AJAX)調用此頁面:
<?php
include_once ('simple_html_dom.php');
$rank = $_POST['getRank'];
$URL = "http://fifa.com/worldranking/rankingtable/gender=m/rank=".$rank."/confederation=25998/page=1/_ranking_table.html";
$html = file_get_html($URL);
$test = trim($html->find('.rnkdate', 0)->innertext);
echo "Date published: " . $test;
?>
它正在嘗試從以下URL中提取發布日期: http://www.fifa.com/worldranking/rankingtable/gender=m/rank=233/confederation=25998/page=1/_ranking_table.html
: http://www.fifa.com/worldranking/rankingtable/gender=m/rank=233/confederation=25998/page=1/_ranking_table.html
,其中rank=XXX
是不同月份的不同表格。
無論如何,當我這樣做時,這是我得到的:
問題是它在另一個DIV中,因此...我想它沒有顯示在<textarea>
。 那么...我如何進入該div並提取文本本身? 謝謝。
如果您使用的是http://simplehtmldom.sourceforge.net/ ,那么根據http://simplehtmldom.sourceforge.net/manual_api.htm看來,您應該使用“純文本”,而不是“內部文本”(作為內部文本)似乎是javascript開發人員稱為innerHTML的內容,而“ plaintext”似乎是.textContent的js等效語言……這個simplehtmldom lib似乎是由非Web開發人員編寫的。
$test = trim($html->find('.rnkdate', 0)->plaintext);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.