0

この演算子を使用してすべてのHTML<table>行を検索しようとしていますが、何もありません。

preg_match_all("#<tr[^>]*>.*</tr>#", $content, $matches);

どうしたの?

4

3 に答える 3

4
preg_match_all ('#<tr[^>]*>(.*?)</tr>#s')

"s" フラグを追加して、改行、疑問符 (lazy) にも一致するようにし、括弧も追加しました (グループをキャプチャするため)。

于 2012-08-07T13:52:29.417 に答える
3

PHP HTML パーサーを使用すると、より多くの成功を収めることができると思います。

于 2012-08-07T13:50:34.907 に答える
3

複雑な再帰式を使用しない限り、どの正規表現でもネストされたテーブルで問題が発生します。

代わりにこれを試してください:

$dom = new DOMDocument();
$dom->loadHTML($content);
$matches = $dom->getElementsByTagName("tr");
$count = $matches->length;
于 2012-08-07T13:51:35.593 に答える