首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决Joomla站点上的html解析器错误?

如何解决Joomla站点上的html解析器错误?
EN

Stack Overflow用户
提问于 2017-08-21 14:22:15
回答 1查看 106关注 0票数 0

我最近把我的网站迁移到了新的服务器上,现在每当我转到我的首页时,我就会收到一个错误。

http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/

以下是我所犯的错误,我对此一无所知:

解析器= xml_parser_create($encoding);xml_set_object($this->解析器,$this);xml_parser_set_option($this->解析器,XML_OPTION_CASE_FOLDING,0);xml_parser_set_option($this->解析器,XML_OPTION_SKIP_WHITE,1);xml_parser_set_option($this->解析器,XML_OPTION_TARGET_ENCODING,'UTF-8');xml_set_element_handler($this->解析器,"start_element","stop_element");Xml_set_character_data_handler($this->解析器,"char_data");}函数force_to_array() { for ($i = 0;$i < func_num_args();$i++) { $this->force_to_array[] = func_get_arg($i);} /*解析XML数据,将其存储在实例变量中;如果无法解析数据,则返回false。*/函数解析($data){ $this->tree = array();if (!xml_parse($this->解析器,$data,1)) { $this->error = "xml解析错误:“。xml_error_string(xml_get_error_code($this->parser))。“open”.xml_get_current_line_number($this->解析器);返回false;}返回$this->tree;}函数parse_file($file) { $fp = @fopen($file,"r");if (!$fp) {user_error(“无法打开文件:'$file'");返回false;} while ($data = fread($fp,4096)) { if (!xml_parse($this->解析器,$data,feof($fp){ user_error("xml解析错误:”)。xml_error_string(xml_get_error_code($this->parser))。“在线”。Xml_get_current_line_number($this->解析器);} fclose($fp);返回$this->tree;}函数encode_as_xml($value) { if (is_array($value)) { reset($value);$out =‘;$key (list($key,$val) = each($value)) { if (is_array($val) & isset($val)) { reset($val);while (list(,$item) = each($val)) { $out .=“.xml_simple::encode_as_xml($item).”;} $out {$out .=“.xml_simple::encode_as_xml($val).”;}返回$out;}$item{返回htmlspecialchars($value);}}函数start_element($parser,$name,$attrs) { array_unshift($this->tree,array("name“$attrs));}函数stop_element($parser,$name) { if ($name != $this->tree)死(“不正确的嵌套”);if (计数($this->tree)> 1) { $elem = array_shift($this->tree);if (isset($this->tree[$elem“name”)){ if ($this->tree[$elem“name”) && isset($this->tree$elem["name"])) {array_push($this->tree[$elem‘name“],$elem"content");}{ $this->tree[$elem"name"] =array($this->tree[$elem“name”,$elem"content");}{ if (in_array($elem"name",$this->force_to_array)) { $this->tree[$elem"name"] = array( $elem"content“);}in_array{ if (!isset($elem"content")) $elem”content“=”;$this->tree[$elem“”name“]= $elem"content";}}函数char_data($parser,$data) {#不向非字符串数据添加字符串,如果(!is_string( $this->tree ) && !preg_match("/\S/",$data))返回;$this->tree .= $data;}}

然而,我的网站的其他网页工作得很完美。您可以通过访问此页面http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/contact-us来查看

我很感谢你的任何帮助。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-21 14:28:06

我认为XMLsimple.php是问题所在。如果您查看源(在主页http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/上),它的开头是:

代码语言:javascript
运行
复制
<?

/* xml-simple.php

您可以将其更改为(在xml-simple.php文件中)吗?

代码语言:javascript
运行
复制
<?php

/* xml-simple.php

我认为“short_open_tag”在配置中是禁用的(php.ini)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45799511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档