0

<tr class="ismResult">2 番目のセットではなく、1 番目と2 番目のセットのみを切り取るにはどうすればよい<tr class="ismFixtureSummary">ですか?

<tr>最初の 2 つのタグとコンテンツのみを切り取ろうとしています。これらの両方を変数に設定する方法はあり$Resultますか? 私はhtmlをその一部として保持しようとしています。

<table>
    <tbody>
        <tr class="ismResult">
            <td>2-0</td>
        </tr>

        <tr class="ismFixtureSummary">
            <td>Player1</td>
            <td>Player2</td>
        </tr>

         <tr class="ismResult">
            <td>1-1</td>
        </tr>

        <tr class="ismFixtureSummary">
            <td>Player3</td>
            <td>Player4</td>
        </tr>
    </tbody>
</table>

私が試したこと:

include('simple_html_dom.php');
$url = 'http://www.test.com';
$html = file_get_html($url);

$FullTable = $html->find('table');

foreach($FullTable->find('tr[class=ismResult]') as $Heading)
    {
    echo $Heading;

    foreach($FullTable->find('tr[class=ismFixtureSummary]') as $Summary)    
    {
        echo $Summary;
    }
    }

<tr class="ismFixtureSummary">all の内容を everyに投稿するため、これは機能しません<tr class="ismResult">。私はそれらをペアとして切り取ろうとしています。

ご協力いただきありがとうございます。

4

2 に答える 2

0

XPATHを使用してこれに取り組みます

$xpath = new DOMXPath($html);

$ismResult = $xpath->query("//tr[@class='ismResult']/td");
$ismFixtureSummary= $xpath->query("//tr[@class='ismFixtureSummary']/td");

echo $ismResult->item(0)->nodeValue;
echo $ismFixtureSummary->item(0)->nodeValue;

xpath の詳細については、こちらを参照してください。 http://phpmaster.com/php-dom-using-xpath/

于 2012-11-01T04:44:11.363 に答える
0

検索操作の結果を 2 つの別々の配列に設定し、単一の for ループを実行して、探している結果をエコーするだけです。

include('simple_html_dom.php');
$url = 'http://www.test.com';
$html = file_get_html($url);

$FullTable = $html->find('table');

$headings = $FullTable->find('tr[class=ismResult]');
$summaries = $FullTable->find('tr[class=ismFixtureSummary]');

for ($i = 0; $i < count($headings); $i++;) {
    echo $headings[$i] . $summaries[$i];
}
于 2012-11-01T04:46:14.503 に答える