2011-05-04 53 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

相关问题