PHP DOMParser Yardım

2 Cevap php

As recommended in a previous question of mine, I am using the PHP Simple HTML DOM Parser as a way to search an HTML document and grab contents from a specific element (in my case, a textarea). I was wondering if anyone had used this before and was able to give me any advice for my problem (or recommend another solution). The code I'm using looks like this:

include "../simple_html_dom.php";
$html     = file_get_html('http://example.com');
$textarea = $html->find('textarea[id=body]'); 
$contents = $textarea->outertext;

echo $contents;

Benim sorunum script kodunu çalıştırır ve bu gibi görünüyor eleman (hiçbir veri alır ki:

<textarea id="body" name="body" rows="12" cols="75" tabindex="3">
At 2/21/10 10:15 PM, You wrote
: Hello world,
: how are you today?

</textarea>

Ben belli bu yöntemle tavsiye sormak için üzgünüm, ama başka kimse herhangi bir tavsiye var eğer büyük mutluluk duyacağız. Şimdiden çok teşekkür ederim

2 Cevap

Eğer gördüğünüz gibi bir düğüm sanki başlayanlar için onu tedavi olmamalı yani documentation find, bir dizi döndürür. Ayrıca, ne istediğiniz innertext değil outertext.

Bu çalışması gerekir:

include "../simple_html_dom.php";
$html     = file_get_html('http://example.com');
$textarea = $html->find('textarea[id=body]'); 
$contents = $textarea[0]->innertext;

echo $contents;

Size bağlı sayfasında şöyle diyor:

// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]'); 

Bu $ret bir koleksiyon olacağını bana gösteriyor. Sözdizimsel, sen CSS attribute selectors benzer bir şey kullanıyor demektir. Bu sözdizimi herhangi bir öznitelik uygulamak için genel olması gerekiyordu olduğundan, id benzersiz olması gerektiği gerçeği kabul edilmez ve bir koleksiyon döndürdü ... sanıyorum ki böyle bir şey denedim eğer .. .

$ret = $html->find('div#foo'); 

... Işe yarayabilir.