我似乎无法弄明白。简而言之,我有一个网页,它将根据$ _GET变量集而改变。在构建网页时,有2个菜单可供选择。这些菜单存储在html文件中。
这是读取该文件的行。
$template->set('menu',file_get_contents('../gamefiles/site_menu.html'));
以下是该行正在运行的功能。
function set($div,$data)
{
$result = $this->xpath->query("//div[@id = '".$div."']");
$node = $result->item(0);
$node->nodeValue = $data;
$this->dom->saveHTML();
}
以下是菜单文件中的内容。
<a href=''><div>Home</div></a><br />
<a href=''><div>Documentation</div></a><br />
<a href=''><div>Support</div></a><br />
<a href=''><div>Affiliates</div></a><br />
<a href=''><div>Sign up!</div></a><br />
这里是我的问题所在......由于某种原因它返回
<a href=''><div>Home</div></a><br />
<a href=''><div>Documentation</div></a><br />
<a href=''><div>Support</div></a><br />
<a href=''><div>Affiliates</div></a><br />
<a href=''><div>Sign up!</div></a><br />
file_get_contents()单独使用时返回正确的值,这使我相信DOMXPath函数正在对它做一些事情。我很难过。
任何想法?提前谢谢
修改
添加创建DOMDoc的构造方法
function __CONSTRUCT($template)
{
$this->dom = new DomDocument();
$this->dom->loadHTML(file_get_contents($this->template_dir.$template));
$this->xpath = new DomXPath($this->dom);
}
答案 0 :(得分:0)
不确定你在标题中发送了什么字符集,但我之前遇到过类似的问题,这就是问题所在。尝试使用:
header('Content-Type: text/html; charset=UTF-8');