允许创建无效元素 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);
是否可以在 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);