構文解析のコンテンツのhtmlタグを使用regex
-
18-09-2019 - |
質問
たいへの解析からコンテンツ
<td>content</td>
and
<td *?*>content</td>
and
<td *specific td class*>content</td>
どうしたいのですregex,phpめ馴染ませ致?
解決
私はこのには思いますかなり良い、それをまとめています。
要するに、HTMLを解析するために正規表現を使用しないでください。その代わり、DOMクラスを見て、特にのDOMDocument :: loadHTMLする
他のヒント
場合はHTML文書は、本当な利用の正規表現構文解析す:HTMLはないか"ある。
Aよりもはるかに優れており解決する負荷のおHTMLドキュメントを使用してDOMパーサ--例えば、 DOMDocument::loadHTML
や Xpath問合せ のくらい本当に素晴らしい仕事です!
<td>content</td>
:<td>([^<]*)</td>
<td *specific td class*>content</td>
:<td[^>]*class=\"specific_class\"[^>]*>([^<]*)<
@OP、ここでは一つの方法です。
$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
所属していません StackOverflow