简单的HTML Dom,解析时如何避免外部链接(不避免没有主机URL的链接)

时间:2015-01-02 17:09:29

标签: php html web-scraping

我试图建立一个刮刀来获取所有链接,我想避免外部链接,所以我有以下代码......

foreach($html->find('a') as $element) {

      if (!in_array($element->href, $outputedUrls) && strpos($element->href, 'www.example.ie') !== false ) {
        echo 'LEVEL 1: '.$element->href . '<br>';
        $outputedUrls[] = $element->href;

        get_links($element->href,$outputedUrls,1);
      }

 }

问题是,它运作得很好,它不包含href中没有主网址的链接,例如如果主页上只有<a href="activities">activities</a>,则不会包含此内容。

我如何确保不包括外部链接,但包含属于网站一部分的链接。谢谢

1 个答案:

答案 0 :(得分:0)

您也可以检查子域名的正则表达式。这将在一定程度上解决问题

if(preg_match("/^[A-Z0-9]+$/i", $subdomain)) {
   echo "Valid sub domain";
  }else{
   echo "Not a valid sub domain.";
  }