gpt4 book ai didi

php - 如何仅使用 DOMXPATH 删除样式属性?

转载 作者:行者123 更新时间:2023-12-02 01:47:04 25 4
gpt4 key购买 nike

我使用 DOMXPATH 从 p 标记中删除所有 属性,并且工作正常,

// Loop all p.
foreach( $dom->getElementsByTagName( "p" ) as $p )
{
// Loop all attributes in p.
foreach( $p->attributes as $attrib )
{
// Remove all attribute from p.
$p->removeAttributeNode( $attrib );
}

}

现在我只想从 p 标记中删除 style attribute

// Loop all p.
foreach( $dom->getElementsByTagName( "p" ) as $p )
{
// Loop all attributes in p.
foreach( $p->attributes as $attrib )
{
// Remove only the style attribute
$p->removeAttributeNode( $p->getAttributeNode( "style" ) );
}

}

但是我收到了这个错误,

Catchable fatal error: Argument 1 passed to DOMElement::removeAttributeNode() must be an instance of DOMAttr, boolean given..

如何仅删除样式 属性

最佳答案

替换这个

// Loop all attributes in p.
foreach( $p->attributes as $attrib )
{
// Remove only the style attribute
$p->removeAttributeNode( $p->getAttributeNode( "style" ) );
}

像这样:

// fetch style node
$sNode = $p->getAttributeNode( "style" )
// only procede, if $p actually has a style node
if ($sNode) {
$p->removeAttributeNode( $sNode );
}

(未经测试,抱歉,我这里没有安装服务器)

关于php - 如何仅使用 DOMXPATH 删除样式属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9892493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com