2012-01-10 100 views
-2

我有一个代码生成等于窗口高度的最小高度(不,将它设置为在CSS中为100%不起作用。)PHP结果后没有换行符?

所以最后,在一个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;" 

,我需要它不会被打破,只是“最小高度:1080px;”

我敢肯定,修复程序非常简单,它是一个漫长的一天:P

+1

嗯......也许我不读这个正确的,但如果你不想要了断行你为什么要加入“
\ n“给字符串? – 2012-01-10 01:02:42

+0

通过从代码中删除字符进行调试,直到获得预期结果。之后,你现在什么地方出了问题 – zerkms 2012-01-10 01:02:42

+0

谢谢你们,我不知道我是怎么过滤brol的...... lol – Xhynk 2012-01-10 01:05:47

回答

2

解决方案看起来很奇怪。你为什么要混合CSS和JS?

在任何情况下,代码段​​正在导致换行。

无论如何,使您的代码易读!

<?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(); 
} 
?> 
+0

这个词是_legible_。 – 2012-01-10 10:40:30

+0

@Lightness在轨道上的比赛:好的,谢谢! – Czechnology 2012-01-10 11:35:32

2

1.为了您的第一个条件块:只是不输出​​?我不知道为什么你会怎么做,在CSS

  • 如果你不想换行

2.对于你的第二个:

  • 可以只是在CSS属性中加入<script>标签,并期望它能够正常工作。考虑你的PHP的输出,并将其与手动编写的CSS进行比较。

你会发现这段代码更容易使用,如果你得到的语句那些乱七八糟关闭该looooooong单行上班。

0

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

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(); } ?>