preg_match不会在foreach中执行

时间:2014-06-02 10:56:45

标签: php foreach preg-match simple-html-dom

我使用simple_html_dom.php从某个页面中提取链接。

链接示例:

sitevision/proxy/platsbanken/svid12_237ec53d11d47b612d78000171/-123388378/Standard/Platsannonser/VisaPlatsannonsSokDetaljerat.aspx;jsessionid=4E02AB2DE23B9E86B1249B2D1C6E5274?q=s%28pf%28fm%2820140601125839%29tm%2820140602125839%29%29%29a%28100%29sp%2814%2C18%29sr%280%2C0%29&ids=5986605&ps=isr%28True%29FI%28-1%29pgi%28400%29

当我获得所有这些链接时,我需要从链接中获取特定变量。

preg_match('/29&ids(.*?)&ps=isr(.|$)/is',$href,$addid);

preg_match不会导致

内的任何内容

foreach($html->find('table.tablelist a[shape=rect]') as $e)

但是当我把它移到foreach声明之外时,它可以正常工作。

你能用这个帮我吗?

// Include the library
include('simple_html_dom.php');

        $html = file_get_html($actual_link);

        foreach($html->find('table.tablelist a[shape=rect]') as $e)
        {
             $href = $e->href;

             preg_match('/29&ids(.*?)&ps=isr(.|$)/is',$href,$addid); 
             echo $addid = $addid[1];

        }

0 个答案:

没有答案