1

重複の可能性:
RegEx は、XHTML の自己完結型タグを除く開始タグに一致
します PHP で HTML を解析および処理する方法は?

私は助けが必要です。私は HTML を持っており、テーブルを提供する正規表現が必要です。1つのテーブルのみ。このテーブルの後に別のテーブルが移動するためです。html の例:

<table class="results" cellspacing="1" cellpadding="0" border="0" width="100%" align="left">
    <tr><td>text</td></tr>
</table>
<!-style>
tr.bg_selected{}
tr.bg_selected td, tr.bg_checked td { background-color:#ffe9bc !important;}
</style>**AND ANOTHER TABLE**

私の定番です。このテーブルの後にすべてのテーブルを取得します。

$regular = "/<table class=\"results\" cellspacing=\"(\d+)\" cellpadding=\"(\d+)\" border=\"(\d+)\" (.*)>(.*)<\/table>\n(.*)<\/style>/s";
    preg_match_all($regular,$str, $matches2, PREG_PATTERN_ORDER);
4

1 に答える 1

1

コメントで「正規表現で HTML を解析できない」と指摘する人もいます。これは完全に正確ではありません。それはできます。

ただし、これは難しく、エラーが発生しやすく、最終的には扱いにくい構造になってしまいます。

したがって、代わりに PHP の組み込み HTML パーサーを使用することを強くお勧めします。使い方はとても簡単です:

$doc = new DOMDocument();
$doc->loadHTML($htmlCode);

その後、結果のオブジェクトを操作して、必要なデータを抽出できます。

$tables = $dom->getElementsByTagName('table');
foreach ($tables as $table){
    $cells = $table->getElementsByTagName('td');
    foreach ($cells as $cell){
        echo $cell->nodeValue;
    }
}

詳細については、PHP マニュアルを参照してください: http://php.net/manual/en/book.dom.php

于 2012-08-16T14:18:56.273 に答える