Php DOMDocument>;setAttribute()>;布尔属性?
我试图创建一个可以压缩HTML的PHP类,所以我想用required替换例如required=“required”。但是如何通过DOMDocument添加bool属性呢 代码: 结果:Php DOMDocument>;setAttribute()>;布尔属性?,php,domdocument,dom-manipulation,Php,Domdocument,Dom Manipulation,我试图创建一个可以压缩HTML的PHP类,所以我想用required替换例如required=“required”。但是如何通过DOMDocument添加bool属性呢 代码: 结果: <input required=""></para> 预期: <input required></para> 创建有效的XML结构,并且根据和-添加空属性无效 布尔属性的值应与属性的名称相同 这是有效的: 任何其他属性都必须有一个值好的,我可以解决使用ra
<input required=""></para>
预期:
<input required></para>
创建有效的XML结构,并且根据和-添加空属性无效
布尔属性的值应与属性的名称相同
这是有效的:
任何其他属性都必须有一个值好的,我可以解决使用random_bytes()和str_replace()的问题 代码:
DTD
是导致它的原因。只要有一个定义,您就可以遵守它;)
<input required></para>
<input required="required"></para>
<input required></para>
checked
disabled
readonly
multiple
selected
compact
noshade
declare
ismap
nohref
nowrap
$rand = md5(random_bytes(16));
$doc = new DOMDocument("1.0");
$node = $doc->createElement("input");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("required", 'delete-this' . $rand);
var_dump(
str_replace(
array('="delete-this' . $rand . '"'),
array(''),
$doc->saveHTML()
)
);