Ben bir tablo dışarı veri kapmak ve yardıma ihtiyacı Basit HTML kullanıyorum

2 Cevap

Yoksul başlık çocuklar için üzgünüm, ama ben sevinçle ediyorum. Ben gibi bir tablo var:

<table class="gsborder" cellspacing="0" cellpadding="2" rules="cols" border="1" id="d00">
        <tr class="gridItem">
                <td>Code</td><td>0adf</td>
        </tr><tr class="AltItem">
                <td>CompanyName</td><td>Some Company</td>
        </tr><tr class="Item">
                <td>Owner</td><td>Jim Jim</td>
        </tr><tr class="AltItem">
                <td>DivisionName</td><td> </td>
        </tr><tr class="Item">
                <td>AddressLine1</td><td>9314 W. SPRING ST.</td>
        </tr>
</table>

Ben verileri almak için aşağıdaki kodu kullanıyorum:

  $foo = $html->getElementById("d00")->childNodes(1)->childNodes(1);

Bu olsa ile sorun benim verilerle iki <td></td> etiketleri alıyorum olmasıdır. Sadece etiketleri olmadan ham verileri kapmak için bir yolu var mı?

Ayrıca, bu tablonun dışında benim veri almak için doğru yolu nedir?

2 Cevap

Ham metni almak için sayisinda strip_tags kullanın.

http://us.php.net/manual/en/function.strip-tags.php

Yani:

$foo = strip_tags($html->getElementById("d00")->childNodes(1)->childNodes(1));

Kullanmayı deneyin:

$foo = $html->getElementById("d00")->childNodes(1)->childNodes(1)->plaintext;

veya InnerText.

// Example
$html = str_get_html("<div>foo <b>bar</b></div>"); 
$e = $html->find("div", 0);

echo $e->tag; // Returns: " div"
echo $e->outertext; // Returns: " <div>foo <b>bar</b></div>"
echo $e->innertext; // Returns: " foo <b>bar</b>"
echo $e->plaintext; // Returns: " foo bar"

http://simplehtmldom.sourceforge.net/manual.htm, alınan

Genel bir kural ne olursa olsun, DOM API Eğer veri almakla ilgilenen eleman (lar) bulunan ettik kez içerdikleri metin düğümlerini erişen kullanıyorsanız biraz daha fazla çalışma gerektirir.