通过表单提交消息。它可以包含 html 以及普通文字。
即:
Why this code doesn't work for me?
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
我想用pre
标记来包围html元素。
即
Why this code doesn't work for me?
<pre>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</pre>
我早些时候曾在php聊天室询问过这个问题并且在这个问题的答案的作者建议阅读解决方案:php DOMDocument: complete transform of form element? wrapping and removing?
在这个例子中,一切都很完美。我需要包装任何html元素显然exe pre
本身。
有没有人对这个问题的解决方案有什么想法? 提前感谢所有可以提供帮助的人。
答案 0 :(得分:0)
我不确定DOMDocument
如何处理格式不正确的HTML。如果邮件包含没有打开标签的结束标签,您可能会收到错误。但我想你会从以下内容中得到这个想法......
将整个邮件包装成例如div
使其可解析。然后将字符串加载到DOMDocument中。使用链接答案中的DOMXPath
来查找您创建的div中最顶层的元素,并使用pre
包裹它们:
$dom = new DOMDocument();
$dom->loadHTML("<div>$msg</div>");
$xpath = new DOMXPath($dom);
$query = $xpath->query("body/div/*");