我使用php doms功能创建了一些HTML模板, 现在我想在我的模板中添加一些php标签 即。
$input = $this->dom->createElement('input');
$input->setAttribute("type", "text");
$input->setAttribute("name", $name);
$input->setAttribute("class", "input");
$input->setAttribute("id", $name);
$input->setAttribute("value", '<?=$foo->bar; ?>');
我的问题是,dom解析器逃脱了php行..
<input type="text" name="id" class="input" id="id" value="\<?=$content->id;?>" />
还有另一种方法吗?
答案 0 :(得分:3)
$php = $dom->createProcessingInstruction('php', 'echo $foo->bar;');
完整示例:
$dom = new DOMDocument;
$dom->loadXml('<html><head><title>Test</title></head><body/></html>');
$dom->getElementsByTagName('body')->item(0)->appendChild(
$dom->createProcessingInstruction('php', 'echo $foo->bar;')
);
$dom->format = TRUE;
echo $dom->saveXML();
结果:
<?xml version="1.0"?>
<html>
<head>
<title>Test</title>
</head>
<body>
<?php echo $foo->bar;?>
</body>
</html>