0

からコンテンツを解析したい

<td>content</td>
and
<td *?*>content</td>
and 
<td *specific td class*>content</td>

正規表現、PHP、およびpregを一致させるにはどうすればよいですか?

4

4 に答える 4

4

これはかなり良い要約だと思います。

つまり、HTMLの解析に正規表現を使用しないでください。代わりに、DOMクラス、特にDOMDocument::loadHTMLを見てください。

于 2010-01-04T18:21:27.803 に答える
3

HTMLドキュメントがある場合は、正規表現を使用して解析するべきではありません。HTMLは、そのための「正規表現」ではありません。

はるかに優れた解決策は、たとえばDOMパーサーを使用してHTMLドキュメントをロードすることです。たとえば、DOMDocument::loadHTMLXpathクエリは非常に優れた仕事をすることがよくあります。

于 2010-01-04T18:16:03.447 に答える
0

<td>content</td><td>([^<]*)</td>

<td *specific td class*>content</td><td[^>]*class=\"specific_class\"[^>]*>([^<]*)<

于 2010-01-04T18:21:15.837 に答える
0

@OP、ここに1つの方法があります

$str = <<<A
<td>content</td>
<td *?*>content</td>
<td *specific td class*>content</td>
<td *?*> multiline
content </td>
A;

$s = explode("</td>",$str);
foreach ($s as $a=>$b){
    $b=preg_replace("/.*<td.*>/","",$b);
    print $b."\n";
}

出力

$ php test.php
content

content

content

 multiline
content
于 2010-01-05T00:06:36.633 に答える