1

私の質問は、「Simple HTML DOM Library」を特に対象としていることに注意してください。3k 行以上のコードがあり、別のパーサーを使用することに興味はありません。

http://simplehtmldom.sourceforge.net/manual.htmの「HTML 要素の検索方法」を参照してください。


div次のコードを使用して、さまざまな要素からホームページの URL を抽出しようとしています。

子孫セレクターの定義div[...] li aは簡単です。しかし、私が試したホームページに絞り込むために:

  1. 6番目のli要素...インデックスを介して(以下を参照、「オブジェクト以外のプロパティを取得しようとしています」というエラーが発生します)
  2. label=Internet:コードにその奇妙な

残念ながら、私はどちらにも成功しませんでした:)

望ましい出力

http://www.someurl.com/
http://www.anotherurl.com/

動かないコード

foreach($html->find('div[class=contact-data] li a', 6) as $element_details) {
// variable $html contains the Input listed below 

    // Output $element_details

    }

入力(変数 $html に格納)

<div class="contact-data">
    <ul class="plain-list">
    <li>
        Somestreet 18</li>
    <li>
        88888
        Somecity</li>
    <li>
        <label>
        Tel:</label>123/123456</li>
    <li>
        <label>
        Fax:</label>123/123457</li>

    <li>
        <label>
        E-Mail:</label><a href="http://www.somesite.com/de/Service/ContactParam?mail_pnr=000290080" onclick="">Contact</a></li>
    <li>
        <label>
        Internet:</label><a href="http://www.someurl.com/">Homepage</a></li>
    <li>    
        <div style="margin-left: 0px">
        </div></li>
    </ul>
</div>

<div class="contact-data">
    <ul class="plain-list">
    <li>
        Anotherstreet 68</li>
    <li>
        88888
        Anothercity</li>
    <li>
        <label>
        Tel:</label>123/123447</li>
    <li>
        <label>
        Fax:</label>123/123458</li>

    <li>
        <label>
        E-Mail:</label><a href="http://www.anothersite.com/de/Service/ContactParam?mail_pnr=000570030" onclick="">Contact</a></li>
    <li>
        <label>
        Internet:</label><a href="http://www.anotherurl.com/">Homepage</a></li>
    <li>    
        <div style="margin-left: 0px">
        </div></li>
    </ul>
</div>
4

1 に答える 1