<?php
   $a="This string will $print.\nAnd this is another line.";
   echo $a;
?>
程序的输入结果为什么是   This string will . And this is another line.
而不是
  This string will .
  And this is another line.   呢?
教材上面明明写的是后者啊!
而且我把\n换为\t或者\r输出结果是一样的,三个符号只是起到了空格的作用,而不是应有的换行、制表、回车的功能,为什么呢?恳请高手指点,谢谢!

解决方案 »

  1.   

    你是在浏览器里看结果的吧?
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]
      

  2.   

    应该是这样
    <?php
      $a="This string will $print."."\n"."And this is another line.";
      echo $a;
    ?>
      

  3.   

    在浏览器下,如果楼上的方法还不行,你就只能用html标记  <BR>这肯定没问题如果你用于显到文件中或是文本输入框中,用\r\n是可以的,注意要包涵在双引中用,单引号中可能无效
      

  4.   

    浏览器多cr newline和tab都是看作是空格。换行应该使用<br>
      

  5.   

    <pre>
    <?php
      $a="This string will $print.\nAnd this is another line.";
      echo $a;
    ?>
    </pre>
      

  6.   

    建议在网页中想换行用<br>,想空格用&nbsp;想tab用四个空格
      

  7.   

    <?php
      $a="This string will $print.\n<br />And this is another line.";
      echo $a;
    ?>
    一定是你要的结果
      

  8.   

    回复2楼:我试了,按你那样写还不行,该不会是我的IDE的问题吧?我用的是Eclipse for PHP。
    回复3楼:<BR>肯定可以,这没问题,关键是想弄清楚问什么\n  \r  \t不起作用,其它语言里面都可以。
    回复8楼:按照大侠的指示,加上<pre>   </pre>确实起作用了,能给大家解释一下问什么吗?
      

  9.   

    不是告诉你了吗,\r\n只对写文件或是多行文本框中才会起作用,要是windown的东西才认,html是不认这东西的,<pre> 标签可定义预格式化的文本我理解也只是对这东西做了转化
      

  10.   

    咳咳,
    在html里, 回车/tab/空格 这些都叫做whitespace, 
    任何多个连续的whitespace在html都被显示为"一个空格"这就是这么规定的...<pre>里会原样显示这些字符也就是这么规定的,所以说要看html的书....如果要显示很多空格怎么办.... 楼上说了,&nbsp; 
    如果要回车... <br/>  <p>等
    如果要tab, ....如果你要显示表格最好是<table>, 或者<li>有时也行
    更好的方法是用css控制你的显示为什么没说<pre>,这个tag比较特殊,如果你不是真的只要显示纯文本,就不该用html的显示的一般文本的显示是两回事....所以叫"超"文本
      

  11.   

    外边包个<pre></pre>就能显示换行了
      

  12.   

    你的那些不是php里面的空格换行。。建议看下手册、、