2017-06-14 13 views
-1

私はこの優れたプラグインを使用して、特定のウェブサイトのコンテンツをスクラップしています:http://simplehtmldom.sourceforge.net/manual.htmプラグインをスクレイピングするための適切な構文

私が掻き集めるものの例。

<section class="details"> 

     <div class="address"> 
      <div class="zip-code-country"> 
       <span>USA</span> 
      </div> 
     </div> 
      <div class="phone"> 
      <a href="tel:+1234567890">(123)456-7890</a> 
      </div> 
      <ul> 
       <li><a href="mailto:[email protected]">Email</a></li> 
      </ul> 
     </section> 

私のコードの関連部分はこのようなものです:。

foreach($html->find('section.details') as $part2) { 

    $item2['zip']  = $part2->find('div.zip-code-country span', 0)->plaintext; //works perfectly 
    $item2['phone']  = $part2->find('div.phone a', 0)->plaintext; //works perfectly 
    $item2['email']  = $part2->find('ul li a[href]', 0)->plaintext; //issue is here 
    $pieces2[] = $item2; 
} 

私はemailを取得しようと、それはアンカーテキスト(すなわち、「電子メール)を返す私が欲しいのにそれのためにありますリターン "[email protected]" この構文が正しい取得する方法について

思考

+2

ウェブサイトからの連絡先を削除する – rtfm

+0

@rtfm私たちが取り組んでいるサイトからAPI全体を統合することなく、これを簡単なMVPとして実行するのは非常に単純で許容される理由があります。 – jonmrich

答えて

1

あなたがしたいと思う:。?

$email= $part2->find('ul li a[href]', 0)->href; 
$item2['email'] =str_replace('mailto:', '', $email); 
+0

ありがとうございます。正確に私が必要としたもの。 – jonmrich

関連する問題