【问题标题】:Remove returns in XML string删除 XML 字符串中的返回值
【发布时间】:2013-09-03 11:06:17
【问题描述】:

使用 simplexml_load_file... 我已经加载了一个 xml 文件。现在我想用 javascript 处理这个文件,所以我创建了一个字符串。不幸的是,该字符串包含一些返回,因此无法读取。我怎样才能摆脱这些回报。

// this doesn't work because the return is not shown in the code, it just starts at a new line    
str_replace('\n','',$string);

我把xml如下:

<?php
$results = simplexml_load_file('file.xml');
$resultsAsString = $results->asXML();
?>
//---
<script>    
    var xml = '<?= $resultsAsString; ?>';
</script>

当我查看源代码时,它看起来像这样:

var xml = '<?xmlversion="1.0"?>
<element></element>
';

如何删除“?>”和“/element>”之后的回车

【问题讨论】:

  • 注意'/n'不正确,使用"\n"
  • 也许php.net/manual/en/function.json-encode.php 会被操作系统使用。
  • 不确定它是否有效,因为我没有测试过。

标签: php javascript xml


【解决方案1】:

不要忘记\r 是换行符的另一种用法。试试这样的:

<?
$resultsAsString = '<?xml version="1.0"?>
<element></element>
';
$singleLine = str_replace(array("\n", "\r"), "", $resultsAsString);
?>
<script>
    var xml = '<?=($singleLine);?>';
</script>

编辑: 如果您希望通过 XML 进行解析,我建议您也看看这个答案:

Cross-Browser Javascript XML Parsing

【讨论】:

  • 谢谢!我记得我确实尝试过..但显然不是以正确的方式。现在它可以工作了:)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 2017-05-14
相关资源
最近更新 更多