2010-05-19 54 views
1

内查找数据我在玩弄一个想法,而我被困在这一部分。我想读取一个外部HTML页面,然后提取两个<dd>标签中保存的数据。我一直在使用file_get_contents,结果很好,但我对如何完成最后一部分感到不知所措。我想从中提取价值的两个标签总是被包含在一个特定的<div>中,想知道这可能有帮助吗?阅读外部HTML页面,然后在

在我看来,它会将整个html文件读入一个字符串,然后将所有数据转储到这个特定的<div>,并在关闭</div>后转储所有数据。那可能吗?我认为这需要我从未使用过的正则表达式语法。所以任何提示,链接或例子都会很棒!我可以根据需要提供更多信息。

回答

0

你太复杂了。只需加载页面内容,然后搜索适当的正则表达式(preg_match())。这将做精

preg_match('~<tag id="foobar">(?P<content>.*?)</endtag>~is', $input, $matches); 
+0

是的,你可以使用正则表达式来解析HTML,[或不](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – hemp 2010-05-19 21:41:57

+0

大家都知道html是非正式语言。但事实上这个问题是:我用一些静态短语包装了一段文字,我怎么找到它? Dom比简单的正则表达式要慢得多(并且在php中比其他语言更差)。 – 2010-05-20 06:51:55

0

如果使用HTQL COM查询页面,查询:<DD> 1:TX