PHP结果后没有换行符?

时间:2012-01-10 00:58:06

标签: php

我有一个代码可以生成等于窗口高度的最小高度(不,在CSS中将其设置为100%不起作用。)

所以最后,在PHP文件中,我有

min-height:<?php if (isset($_GET['width']) AND isset($_GET['height'])) { echo "". $_GET['height'] ."<br />\n"; } else { echo "<script language='javascript'>\n"; echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?>px;

我知道这有点令人讨厌,但它只是在一条线上。我有这个工作正常,它的工作,但我的最终结果是

"min-height:1080
px;"

我需要它不要被打破,只需“min-height:1080px;”

我确信修复非常简单,这是漫长的一天:P

4 个答案:

答案 0 :(得分:2)

1。对于您的第一个条件块:只是不输出"<br />\n"?我不知道你为什么这么做

    CSS中的
  • 如果您不想要新行

2。对于你的第二个:

  • 你不能只在CSS属性中打一个<script>标签并期望它能够正常工作。考虑PHP的输出并将其与您手动编写的CSS进行比较。

你会发现这个代码更容易使用,如果你从那条looooooong单行中得到那么多的语句。

答案 1 :(得分:2)

解决方案似乎很奇怪。你为什么把CSS和JS混在一起?

在任何情况下,代码段"<br />\n"都会导致换行符。

无论如何,让你的代码可读!

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  echo '<style type="text/css">element { min-height: '.$_GET['height'] .'px; }</style>';
} else {
  echo '<script language="javascript">'.
       'location.href="'. $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'] .'&width=" + screen.width + "&height=" + screen.height";'.
       '</script>';
  exit();
}
?>

答案 2 :(得分:0)

您在循环中的几个位置添加\n,删除它们,您应该很好。并删除<br />

答案 3 :(得分:0)

像那样改变你的剧本..

min-height:<?php if (isset($_GET['width']) AND isset($_GET['height'])) { echo "". $_GET['height'] ."px;<br />\n"; } else { echo "<script language='javascript'>\n"; echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"px;&height=\" + screen.height +\"px;\n"; echo "</script>\n"; exit(); } ?>