2011-05-04 51 views
0

由於Drupal日曆的功能混淆網絡的性質,我將不得不做一些不同的事情。如何找到一個字符串的ID標籤並獲取它的值

我需要從包含html代碼的數組中獲取id標記及其值。

<div class="view-item view-item-calendar" id="node-154"> 
    <div class="calendar.111.field_showtimes_two.0.0 calendar monthview mainstagetheatre-highlight"> 
       <div class="view-field view-data-node-title node-title"> 


     <a href="/tca/mainstage/ninetofivemusical">9 to 5: The Musical</a>  </div> 
     </div>  
</div> 

這是我需要解析的代碼。是否有可能針對該id標籤和我設置爲?我這樣做是因爲我不知道數組的創建位置,所以我可以添加一個節點ID,所以我必須在創建html的地方添加它。

+0

你必須使用PHP來做到這一點,或JavaScript可以做到這一點嗎?在檢查的blob中是否只有一個id屬性,或者可能有多個。如果多個,你想要哪個? – 2011-05-04 04:34:56

+0

將只有一個節點ID。是的,它必須是PHP,因爲Drupal有一個動態添加的.js,.css錯綜複雜的網絡,我寧願不加入混亂。 – Adam 2011-05-04 04:42:55

回答

0

沙龍是正確的。使用(X)HTML解析器。這應該工作:

$dom = new DOMDocument; 
$dom->loadHTML($html_from_above); 
$xpath = new DOMXPath($dom); 
foreach ($xpath->query('//@id') as $node) { 
    echo $node->value //found! 
} 

或者,因爲你只有一個單一的ID,你可能只是一定要使用正則表達式。更好的是,使用strpos/substr。

+0

我如何在你的例子中輸入一個html字符串變量? – Adam 2011-05-04 05:17:31

+0

nm duh in load_HTML slot ..出於某種原因,我想我需要輸入一個.html文件 – Adam 2011-05-04 05:19:57

相關問題