Я отправляю html в \ DomDocument и \ DomDocument конвертировать все специальные символы.PHP DOMDocument преобразует> в > и & &
, как я мог бы сказать \ DomDocument не преобразовать наш специальный символ между {% .....%}
{%, если & а> 10%} преобразуется в { %, если & > 10%}
ввода
<!DOCTYPE html>
<body>
{% if &a > 10 %}
{% print &a %}
{% end if %}
<img src="{%# image %}" >
<script>
if a > 10
</script>
</body>
выход
<!DOCTYPE html>
<html><body>
{% if &a > 10 %}
{% print &a %}
{% end if %}
<img src="%7B%# image %%7D" >
<script>
if a > 10
</script></body></html>
код
$dom = new \DOMDocument('1.0', 'UTF-8');
$content = '<!DOCTYPE html><body>
{% if &a > 10 %}
{% print &a %}
{% end if %}
<img src="{%# image %}" >
<script>
if a > 10
</script>
</body>';
@$dom->loadHTML($content);
echo $dom->saveHTML();
Вы не можете. Не преобразование символов приведет к недопустимому XML-файлу. Задача DOMDocument заключается в том, чтобы читать/создавать допустимые файлы XML. Вы не можете выбирать. – Dezza
Спасибо @Dezza, я думаю, к другому решению, я хочу кодировать данные между {%%} (regex и base64), а после завершения процесса DOMDocument конвертировать его в реальный код. –