0

想象一下,我们想要获取HTML 页面的div、span、p 等,其OR ID名称包含一些关键字,例如:

one&& two_three

例如我有这个 HTML:

<div class="this_one">
  Need this !
</div>
<div id="some_three">
  Need this again !
</div>
<span id="two_this">
  Need again
</span>
<p class="NOT">
Not want this
</p>

我的意思是我想在特殊标签中获取文本,例如 (div,p,span),它们的 ID 或 CLASS 包含我的单词,例如 (one,two,...)

如何检测它们?

例如,使用simpledom、 或PHPDOM或任何您想要的方式。

4

5 回答 5

1

使用 jquery,您可以使用[name*="value"]选择器来完成,例如:

var patterns = ["one","two","three"];

var text = "";
for(i in patterns) {
    text += $("[id*='"+patterns[i]+"']").text();
    text += $("[class*='"+patterns[i]+"']").text();
 }

alert(text);

演示小提琴

于 2014-08-13T14:02:49.270 回答
1

您可以使用这样的 jquery 选择器按其类循环元素:

$("[class=className]").each(function( index ) {
   // do something here
});

要选择多个类:

$("[class=className1], [class=className2]").each(function( index ) {
   // do something here
});

这是 JSFiddle 示例:JSFiddle

于 2014-08-13T14:03:58.333 回答
1

您可以使用JQuery 的选择器

// elements who's class contains one
$('[class~="one"]').click(function() {
   // do stuff
});
于 2014-08-13T14:07:29.333 回答
1

简单的方法是在页面中获取所有 div、span 或任何其他您想要的标签。检查每个内容以及是否找到匹配项。使用标签的名称或 ID。

在此链接上进行了非常相似的操作 迭代页面上的所有 <div> 标记

也经过

解析 HTML div id 包括所有内部内容

PHP DOM 解析以获取特定 div id 内的元素

于 2014-08-13T14:24:29.960 回答
1

如果你想使用 PHP,那么你可以使用DOMDocument+ DOMXpath。我不是大师xpath,但您可以执行以下操作:

$sample_markup = '<div class="this_one">
  Need this !
</div>
<div id="some_three">
  Need this again !
</div>
<span id="two_this">
  Need again
</span>
<p class="NOT">
Not want this
</p>';

$dom = new DOMDocument();
$dom->loadHTML($sample_markup);
$xpath = new DOMXpath($dom);

$search = $xpath->query('
    /html/body//*[
        contains(@class|@id, "one") or
        contains(@class|@id, "two") or
        contains(@class|@id, "three")
    ]
');

foreach($search as $node) {
    $value_inside_that_node = trim((string) $node->nodeValue);
    echo $value_inside_that_node . '<br/>';
}

应该输出:

Need this !
Need this again !
Need again
于 2014-08-13T14:41:12.487 回答