允许创建无效元素 DOMDocument PHP

Allow invalid created element DOMDocument PHP

是否可以在 PHP 中允许在 DOMDocument 中创建无效元素?像下面的例子:

例如

 $content = '<div><%if></%if></div>
    <a href="#"><&while></&while></a>';

截至目前,returns:

<div></div>
<a href="#"></a>

我知道这正是它应该做的事情,但我们希望它忽略这一点,并按原样取回字符串。我们使用 DOMdocument 为一些元素添加一些属性。

所以,我们想要的是让 $content 返回添加的属性,但保留我们的自定义代码。

如果是 pre-defined 个值,您可以将它们替换为 "safe" 个值,然后再替换回

$html = "<div><%if></%if>...";

$map = [
    '<&while>' => '[while]',
    '</&while>' => '[/while]'
    ...
];

$html = str_replace(array_keys($map), $map, $html);

/* MAGIC WITH DOMDocument */

$html = str_replace($map, array_keys($map), $html);