PHP中的HTML标签DOMDocument createElement

时间:2012-03-15 11:02:41

标签: php html dom post domdocument

与我见过的大多数结果不同。我正试图做相反的事情。保留我通过表单获得的html标签。在显示直接表单内容时,给我我想要的内容,我需要获取表单内容并将其重新添加到现有HTML页面。

要做到这一点,我正在使用DOMDocument阅读html页面,然后找到合适的位置,我想在其中插入通过表单提交的“新”批量信息,然后创建一堆元素并添加新批次。问题是,当我尝试创建元素并将其提交给我提交的信息的值时,该信息中的任何html标记都不会转换为html,但会在其上添加标记。

例如:
$ _POST ['content'] = <a href="contact.html">Contact US Here!!</a>

实际PHP代码1:

$content = $dom->createElement('div',$_POST['content']);
$contentarea->appendChild($content);
$dom->saveHTMLFile('test.html');

输出1 - <a href="contact.html">Contact US Here!!</a>

我尝试过创建文本节点。然后尝试使用htmlentities,转换它以便它会产生html字符,当它调用saveHTMLFile时它将转换为实际的html但是产生与$ _POST ['content']相同的东西(这真的令人沮丧)。 / p>

我也尝试过使用createTextNode,它给了我相同的结果。真正奇怪的是在使用createTextNode之后,我打印了TextNode的值,它给了我想要的东西。

实际PHP代码2:

$content = $dom->createTextNode($_POST['content']);
echo $content->wholeText;

输出2 - Contact US Here!!

^如果你将鼠标移到你身上,你会看到它应该链接到contact.html(它链接到谷歌,不知道如何显示:D)

所以很明显saveHTMLFile()在某种程度上搞砸了我的生活,导致了这个问题。在使用类似“实际PHP代码1”的代码时,无论如何都要做我想要的(输出2)?

0 个答案:

没有答案