【问题标题】:PHP error when loading an RSS feed with "&" in the data加载数据中带有“&”的 RSS 提要时出现 PHP 错误
【发布时间】:2012-11-26 11:58:16
【问题描述】:

我的任务是使用 PHP 加载 XML RSS 提要。到现在都解决了,但是前几天随机遇到一个问题:如果新闻在.xml文件中包含&符号,会报PHP错误。我理解错误和所有内容,但到目前为止我找不到合适的解决方案。

$URL = 'http://somesite.com/file.xml';
$DOM = new DomDocument();
$DOM->load($URL);

Warning: DOMDocument::load(): EntityRef: expecting ';' in file

我尝试了不同的方法,例如:

$DOM->recover = TRUE;
$DOM->load($URL);

要加载的 .xml 文件是 UTF-8 格式。

【问题讨论】:

  • 你试过 $dom->validateOnParse = false; ? php.net/manual/en/domdocument.validate.php
  • 告诉提供提要的人修复他们的 xml?
  • "警告:DOMDocument::load():验证失败:未找到 DTD !EntityRef:期待 ';'在文件中”是新的错误。
  • 是的,您应该将验证设置为 false。我错过了这个,因为我从手册中复制了它
  • 没有任何作用:/ thx反正!

标签: php xml rss feed


【解决方案1】:

你必须在 php 中使用 urlencode 函数,你也可以找到那些特殊字符并用空格或其他东西替换它

【讨论】:

    猜你喜欢
    • 2012-11-26
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多