0

尝试获取 Internet Data Volume Balance 的值 - 脚本应回显 146.30mb

所有这些都是新手,请查看所有教程。

如何才能做到这一点?

<tr >
    <td bgcolor="#F8F8F8"><div align="left"><B><FONT class="tplus_text">Account Status</FONT></B></div></td>
    <td bgcolor="#FFFFFF"><div align="left"><FONT class="tplus_text">You exceeded your allowed credit.</FONT></div></td>
</tr> 

<tr >
    <td bgcolor="#F8F8F8"><div align="left"><B><FONT class="tplus_text">Period Free Time Remaining</FONT></B></div></td>
    <td bgcolor="#FFFFFF"><div align="left"><FONT class="tplus_text">0:00:00 hours</FONT></div></td>
</tr> 

<tr >
    <td bgcolor="#F8F8F8"><div align="left"><B><FONT class="tplus_text">Internet Data Volume Balance</FONT></B></div></td>
    <td bgcolor="#FFFFFF"><div align="left"><FONT class="tplus_text" style="text-transform:none;">146.30 MB</FONT></div></td>
</tr> 
4

2 回答 2

1

PHP 可以像 JavaScript 一样与 DOM 交互。这比解析标记要好得多,因为大多数人都会告诉你这是错误的方法:

从 HTML 文件加载

// Start by creating a new document
$doc = new DOMDocument();
// I've loaded the table into an external file, and am loading it into the $doc
$doc->loadHTMLFile( 'htmlpage.html' );
// Since you have six table cells, I'm calling up all of them
$cells = $doc->getElementsByTagName("td");
// I'm grabbing the sixth cell's textContent property
echo $cells->item(5)->textContent;

此代码将在屏幕上输出“146.30 MB”。

从字符串加载

如果您将 HTML 存储在一个字符串中,您也可以将其加载到您的文档中。我们将用于加载文件的方法更改为用于从字符串加载的方法:

$str = "<table><tr><td>Foo</td></tr>...</table>";
$doc->loadHTML( $str );

然后我们将继续使用与上面相同的代码来选择单元格,并在输出中显示它们的 textContent。

查看DOMDocument类。

于 2012-04-24T13:03:09.550 回答
1

如果您愿意或已经安装了 phpQuery,您可以使用它。

phpQuery::newDocumentFileHTML('htmlpage.html');
echo pq('td:eq(6)')->text();
于 2012-04-24T13:09:47.260 回答