我尝试创建一个可以压缩 HTML 的 PHP 类,所以我想替换例如required="required"与必需。但是如何通过 DOMDocument 添加 bool 属性呢?
$doc = new DOMDocument("1.0");
$node = $doc->createElement("input");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("required", '');
var_dump($doc->saveHTML());
结果:
<input required=""></para>
预期:
<input required></para>
最佳答案
PHP's DOMDocument
创建一个有效的 XML 结构,并根据 XML 1.0和 XML 1.1 - 添加空属性无效。
bool 属性的值应与属性名称相同。
This is valid:
<input required="required"></para>
This is NOT valid:
<input required></para>
更新
savehtml
函数根据 dtd
验证内容。根据xhtml1.0 dtd ,这是作为空属性有效的属性列表:
checked
disabled
readonly
multiple
selected
compact
noshade
declare
ismap
nohref
nowrap
任何其他属性都必须有一个值
关于php - DOMDocument > setAttribute() > bool 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40065486/