它是我在網站上發佈的第一篇文章,很適合我PHP html scraping
好吧,我是一個完整的PHP初學者,我對我的項目有特殊需求。我希望你們中的一些人能夠幫忙!
基本上,我想刮一個網頁並訪問某個html表格及其信息。我需要解析出這些信息,並將其格式化爲期望的結果。
因此,從哪裏開始.....我的繼承人的PHP我迄今
<?php
$url = "http://www.goldenplec.com/festivals/oxegen-2/oxegen-2011";
$raw = file_get_contents($url);
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B");
$content = str_replace($newlines, "", html_entity_decode($raw));
$start = strpos($content,'<table style="background: #FFF; font-size: 13px;"');
$end = strpos($content,'</table>',$start) + 8;
$table = substr($content,$start,$end-$start);
echo $table;
/* Regex here to echo the desired result */
?>
該URL包含了我所需要的表寫的。我的代碼只會回顯確切的表格。
但是,並繼承我的問題,我絕不是一個reg-ex專家,我需要以某種格式顯示錶中的數據。我想如下呼應包含多個SQL INSERT語句的XML文件:
$xml_output .= "<statement>INSERT INTO timetable VALUES(1,'Black Eyed Peas','Main Stage','Friday', '23:15')</statement>";
$xml_output .= "<statement>INSERT INTO timetable VALUES(2,'Swedish House Mafia','Vodafone Stage','Friday', '23:30')</statement>";
$xml_output .= "<statement>INSERT INTO timetable VALUES(3,'Foo Fighters','Main Stage','Saturday', '23:25')</statement>";
$xml_output .= "<statement>INSERT INTO timetable VALUES(4,'Deadmau5','Vodafone Stage','Saturday', '23:05')</statement>";
$xml_output .= "<statement>INSERT INTO timetable VALUES(5,'Coldplay','Main Stage','Sunday', '22:25')</statement>";
$xml_output .= "<statement>INSERT INTO timetable VALUES(6,'Pendalum','Vodafone Stage','Sunday', '22:15')</statement>";
我希望我已經提供了足夠的信息,我將非常從你一種民間得到任何幫助。
在此先感謝。
[有趣的答案。(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) –
你應該給我們一些更詳細的HTML輸出給你正則表達式的技巧:) – ArtoAle
你可能會更好嘗試解析器,而不是正則表達式:http://php.net/manual/en/book.dom.php –