如果链接来自Drupal字段链接,Simplexml_load_file会中断

时间:2014-10-20 16:15:06

标签: php xml google-maps drupal simplexml

我正在尝试从Google地图动态加载KML文件,用户可以在Drupal(链接字段)中的输入字段上进行配置。但是我被卡住了,因为以下工作完美无瑕,但最后一个没有。

使用:

$xml = simplexml_load_file("Google Maps Link");

也适用:

$link = "Google Maps Link";
$xml = simplexml_load_file($link);

不起作用:

$link = $fields['field_link']->content;
// produces "
//           http://www....."
$xml = simplexml_load_file($link);

我真的不知道这里发生了什么。我尝试使用trim()htmlspecialchars()(查看任何奇怪的字符),但到目前为止没有任何效果。我只在非对象上得到错误Fatal error: Call to a member function asXML(),但这只是因为xml没有被加载。 simplexml_load_file返回false。当我打印两个链接时,它们是相同的。我唯一看到的是Drupal的链接在开始时有一些char强制它进入一个新行。不过不知道如何识别它。

1 个答案:

答案 0 :(得分:0)

使用代表任何空白字符的preg_replace\s从链接中删除未识别(和未指定)的空格:

$link = '
            http://www.example.com';

$link = preg_replace("/\s+/", "", $link);
echo ">" . $link . "<" . PHP_EOL;

输出:

>http://www.example.com<

您现在应该可以使用simplexml_load_file($link);加载它。