2013-03-21 124 views
1

HI我不想分析跨度標籤,它是從我在哪裏提取我的數據.....剝離span標籤

Ex:- <a class="imp"> 
    Some data 1 2 3 
    <span> 
     Unwanted Data 
    </span> 
    </a> 

代碼我使用的子標籤: -

foreach($html->find(a.imp) as $value) 
    { 
      echo $value->innertext; 
    } 

Output:- 
Some data 1 2 3 
Unwanted Data... 

Desired output:- 
Some data 1 2 3 

我真的不KNW有任何功能或方式,使我不能包括子標籤???

+0

這是XPath的工作。東西沿線/ /文本() – mkaatman 2013-03-21 12:40:47

+0

但我使用simplehtmldomparser因爲它適合我的應用程序.... – 2013-03-21 12:42:05

回答

5

我相信你會通過你的第一組結果要循環,找到所有span元素和每個跨度元素的outertext設置爲空字符串,從而去除整個HTML元素。

foreach($html->find('a.imp') as $value) 
{ 
    foreach($value->find('span') as $e) 
    { 
     $e->outertext = ''; 
    } 

    echo $value->innertext; 
} 
+0

工作welll ...謝謝 – 2013-03-21 13:06:22

0

簡單的HTML DOM解析器將工作:

$content = file_get_html($link); 
$stuffiwant = $content->find("//a/text()"); 
var_dump($stuffiwant); 
+0

不工作的傢伙....任何其他的選擇? – 2013-03-21 13:02:59

0

我不相信簡單有一個乾淨的方式來刪除元素。在phpquery中,您可以:

$doc->find('a.imp span')->remove(); 
echo $doc->find('a.imp')->text();