【发布时间】:2014-11-17 07:03:58
【问题描述】:
我想从包含嵌套 html 表格标签的 html 页面中提取表格,然后我想提取 <td> 和 <tr>of 表格。
我正在使用这个。 <b> 和 </b> 工作正常
$file = file_get_contents($url);
preg_match_all ("/<b>(.*)<\/b>/U", $file, $pat_array);
print $pat_array[0][0]." <br> ".$pat_array[0][1]."\n";
谁能告诉我嵌套<table (some table properties)> 一些使用<tr> 和<td> </table> 的数据的正则表达式。如果<tr> 或<td> 字段中存在href,请保留href,并记住所需的表格。
例子:
$file = "<html> <head> <title> asdf </title> </head> <body bgcolor = red > <table border = 1> <table bgcolor = white> (some tr and td data > </table> </table></body> </body> </html>"
preg_match_all ("regular expression for table tag", $file, $pat_array);
print $pat_array[0][0]." <br> ".$pat_array[0][1]."\n";
更新 1:
当我尝试下面的代码时,它显示了错误:
注意:未定义的偏移量:第 27 行 C:\xampp\htdocs\testphp\tabledata.php 中的 0
代码:
$file = file_get_contents($url);
$pat_array = Array();
preg_match_all ("/<tr>(.*)<\/tr>/U", $file, $pat_array);
print $pat_array[1][0];
任何人都可以帮助我解决这个错误吗?
【问题讨论】:
-
例子会更好。
-
你真的不应该为此使用正则表达式,但我猜你的HTML在
<tr>和</tr>之间有换行符;使用/s(DOTALL) 修饰符会有所帮助。
标签: php html regex html-table extract