2011-01-27 71 views
0

我有一系列希望从中获取数据的选择框,基本上将它们转换为数组。什么是最有效的方式来做到这一点?现在,我想....从选择框到数组

$html = file_get_contents('http://www.domain.com'); 

    preg_match_all("/name\=\'subscription\[division_id\]\' style\=\'width: 170px;\'>(.+?)<\/select>/is", $html, $matches); 

然后我就在想运行其他代码采取的选项标签到一个数组中,但这似乎它可能是有点不必要的密集

+0

您是否在搜索其他人的网站以获取他们选择的内容? – 2011-01-27 19:41:15

回答

1

如果您无论出于什么原因都在拼命,你可能可以用php的DOMXPath命令解析页面的html。我不能写出所有的代码,但你可以开始使用:

$xpath = new DOMXPath($dom); 
$select_values = $xpath->evaluate("/html/body//option"); 

然后你通过运行一个循环得到的选项的内容应有尽有。无论如何,有了这样的事情,你可以避免与正则表达式的所有废话。

+0

如果HTML没有结束标签或类似的东西,DOMXPath会中断吗? – Webnet 2011-01-27 20:15:26