我似乎无法弄清楚如何使用正则表达式从页面中拉出整个表格。
这是我的PHP:
$printable = file_get_contents('http://entertainment.soundboxaudio.com/testplaylist.htm');
$array = array();
preg_match( '/<TABLE>(.*?)<\/TABLE>/si', $printable, $array ) ;
$findit = "$array[1]";
echo("$findit");
任何帮助将不胜感激,
谢谢!
答案 0 :(得分:4)
我们再来一次......不要使用正则表达式来提取HTML。 HTML不是常规语言,无法使用正则表达式进行可靠分析。改为使用DOM。
$printable = file_get_conttents('...');
$dom = new DOMDocument;
$dom->loadHTML($printable);
$xpath = new DOMXpath($dom);
$tables = $xpath->query("//table");
$table_html = array();
foreach($tables as $table) { // workaround for PHP DOM not support innerHTML
$temp = new DOMDocument;
$temp->appendChild($temp->importNode($table, true));
$table_html[] = trim($temp->saveHTML());
}
同样,你回复的周围变量只是浪费字符串操作
echo $x
echo "$x";
工作相同,除了引用版本浪费一些cpu产生一个临时字符串,只会再被丢弃。