【问题标题】:php while line jump with xmlphp而用xml进行行跳转
【发布时间】:2017-10-03 21:05:01
【问题描述】:

我想用 php 创建 xml 文件...

如何跳线?用 br 还是 \n?

我每次都尝试。

谁能帮帮我?

include "ayar.php";
$myFile = "rss.xml";
$fh = fopen($myFile, 'w') or die("can't open file");



$rss_txt .= '<?xml version="1.0"?>';
$rss_txt .= '<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">';
$rss_txt .= '<channel>';

 while($values_query = mysql_fetch_assoc($query))
 {
        $rss_txt .= '<item>';
        $rss_txt .= '<g:title>' .$values_query['baslik']. '</g:title><br />';
        $rss_txt .= '<g:description>' .$values_query['aciklama']. '</g:description><br />';
        $rss_txt .= '<g:link>' .$values_query['resim1k']. '</g:link><br />';
        $rss_txt .= '<g:image_link>' .$values_query['resim1k']. '</g:image_link><br />';    
        $rss_txt .= '</item>';

 }
$rss_txt .= '</channel>';
$rss_txt .= '</rss>';

fwrite($fh, $rss_txt);
fclose($fh);

【问题讨论】:

标签: php xml


【解决方案1】:

正如 RockwoodON 所说的那样,&lt;br /&gt; 不是这里的方法。 &lt;br /&gt; 是 HTML 渲染器渲染换行符的标签。要格式化您的 XML,您将需要换行符/字符串,不幸的是它们不是独立于平台的。

Every platform has its line breaks

  • Windows hat 回车加换行 ("\r\n")
  • *nix(不包括 macOS)有一个换行符"\n"
  • macOS 有一个回车符"\r"

话虽如此,大多数现代编辑器可能会识别其中的几个/所有选项。 notepad++ 确实如此,VS 也是如此,仅举两个。因此,换行符的选择应分别取决于您的目标系统/编辑器或用例。

如果您的代码运行的系统与目标平台相同,您可以使用PHP_EOL(请参阅here),但它只有在您不切换任何一方的平台时才有用。 但是你真的应该考虑定义你自己的常量,以与你的文件保持一致

define('EOL',   '\r\n');

// ...

$rss_txt .= '<item>';
$rss_txt .= '<g:title>' .$values_query['baslik']. '</g:title>'.EOL;
$rss_txt .= '<g:description>' .$values_query['aciklama']. '</g:description>'.EOL;
$rss_txt .= '<g:link>' .$values_query['resim1k']. '</g:link>'.EOL;
$rss_txt .= '<g:image_link>' .$values_query['resim1k']. '</g:image_link>'.EOL;    
$rss_txt .= '</item>';

【讨论】:

    【解决方案2】:

    HTML 换行顺序肯定是不正确的。我相信您需要使用“回车”(CR),它可以在您的字符串中写为 \r

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2012-11-24
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 2015-01-03
      相关资源
      最近更新 更多