0

インターネットデータボリュームバランスの値を取得しようとしています-スクリプトは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.30MB」を画面に出力します。

文字列からの読み込み

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 に答える