如何使用 dom 文档获取 div class 值
how to get div class value using dom document
如何使用 dom 文档
获取 div class 值
我需要回应这个值4,458 members
来自下面的代码
< div class="mbs fcg">4,458 members< /div>
现在我的原始密码是
$links = $dom->getElementsByTagName('div');
foreach ($links as $link){
echo $link->nodeValue;
echo $link->getAttribute('class');
}
如何定位这个特定的 class = mbc fcg
?
现在用我现在的代码我得到了所有 div 值。
我应该做什么改变
我认为您需要使用 id
来定位单个 div
,例如:
< div id="my_id_name" class="mbs fcg">4,458 members< /div>
注意:::
这是一个 JAVASCRIPT 解决方案...不是 PHP 文档解决方案
试试这个 HTML:
<div id="ME" class="mbs fcg">4,458 members</div>
...还有这个 Javascript:
var WANTED_TEXT = document.getElementById('ME').firstChild.nodeValue;
编辑 2:
如果你真的想要,从所有出现的具有 class='mbs cfg'
的元素中获取所有文本节点......然后尝试以下 HTML:
<div class="mbs fcg">4,458 members</div>
...还有这个 Javascript:
var Collection = document.getElementsByClassName('mbs fcg');
for(i=0; i<Collection.length; i++) {
Texts = Collection[i].firstChild.nodeValue;
document.write('<p>'+Texts+'</p>');
}
这应该与集合中所有元素的纯文本相呼应。
您将需要使用 DOMXPath,它需要一个 DOMDocument 实例
$xpath = new DOMXPath( $dom );
// if the className doesn`t changes
$members = $xpath->query( '//div[@class="mbs fcg"]' );
// if the class name changes ex. class="mbs fcg my-other class-name"
$members = $xpath->query( '//div[contains(@class,"mbs fcg")]' );
或者,如果您想遍历整个 div,您可以尝试
$divs = $dom->getElementsByTagName( 'div' );
foreach( $divs as $div ){
// if the className doesn`t changes
if( $div->getAttribute( 'class' ) === 'mbs fcg' ){
echo $div->nodeValue;
}
// if the class name changes ex. class="mbs fcg my-other class-name"
if( strpos( $div->getAttribute( 'class' ), 'mbs fcg' ) !== false ){
echo $div->nodeValue;
}
}
如何使用 dom 文档
获取 div class 值我需要回应这个值4,458 members
来自下面的代码
< div class="mbs fcg">4,458 members< /div>
现在我的原始密码是
$links = $dom->getElementsByTagName('div');
foreach ($links as $link){
echo $link->nodeValue;
echo $link->getAttribute('class');
}
如何定位这个特定的 class = mbc fcg
?
现在用我现在的代码我得到了所有 div 值。
我应该做什么改变
我认为您需要使用 id
来定位单个 div
,例如:
< div id="my_id_name" class="mbs fcg">4,458 members< /div>
注意::: 这是一个 JAVASCRIPT 解决方案...不是 PHP 文档解决方案
试试这个 HTML:
<div id="ME" class="mbs fcg">4,458 members</div>
...还有这个 Javascript:
var WANTED_TEXT = document.getElementById('ME').firstChild.nodeValue;
编辑 2:
如果你真的想要,从所有出现的具有 class='mbs cfg'
的元素中获取所有文本节点......然后尝试以下 HTML:
<div class="mbs fcg">4,458 members</div>
...还有这个 Javascript:
var Collection = document.getElementsByClassName('mbs fcg');
for(i=0; i<Collection.length; i++) {
Texts = Collection[i].firstChild.nodeValue;
document.write('<p>'+Texts+'</p>');
}
这应该与集合中所有元素的纯文本相呼应。
您将需要使用 DOMXPath,它需要一个 DOMDocument 实例
$xpath = new DOMXPath( $dom );
// if the className doesn`t changes
$members = $xpath->query( '//div[@class="mbs fcg"]' );
// if the class name changes ex. class="mbs fcg my-other class-name"
$members = $xpath->query( '//div[contains(@class,"mbs fcg")]' );
或者,如果您想遍历整个 div,您可以尝试
$divs = $dom->getElementsByTagName( 'div' );
foreach( $divs as $div ){
// if the className doesn`t changes
if( $div->getAttribute( 'class' ) === 'mbs fcg' ){
echo $div->nodeValue;
}
// if the class name changes ex. class="mbs fcg my-other class-name"
if( strpos( $div->getAttribute( 'class' ), 'mbs fcg' ) !== false ){
echo $div->nodeValue;
}
}