2013-07-17 41 views
0

我使用這個腳本來執行從IE外殼,同時在CLI對其進行了在瀏覽器中正確outputed我看到一個大線,結果PHP - 系統命令參數輸出顯示效果在一行中使用IE

<?php 



$a = $_POST['a']; 
$i=$_POST['i']; 

$output = system("./xx.sh $i $a"); 

echo wordwrap($output,180,"<br />\n"); 

?> 
+0

這是什麼樣子,如果你 「查看源文件」? – Spudley

+0

在瀏覽器的源代碼看起來沒問題。 – user2131714

+0

該頁面是HTML,因此它不會在文本中顯示換行符。 'wordwrap()'函數將換行符放入,但它們不是HTML換行符(即'
'標籤),所以瀏覽器不會顯示它們。 @ DanFromGermany的回答是正確的;您需要在要顯示換行符的位置包含'
'標籤。 'nl2br()'會爲你做到這一點。 – Spudley

回答

1

使用此,而不是換行的:

echo nl2br($output); 

轉換行結束字符(\r\n)到<br />小號

或組合:

echo wordwrap(nl2br($output), 180, "<br />\n"); 

或使用<pre>爲預格式化代碼:

echo "<pre>" . wordwrap($output, 180) . "</pre>"; 
+0

感謝您的quik答案,但這些組合都不適合我。正如我在@Spudley的回答中提到的那樣,在瀏覽器頁面的源代碼中它看起來很好。 – user2131714

+0

你能從瀏覽器輸出中顯示sourecode嗎? – DanFromGermany

+0

telnet>嘗試xx.xx.xx.xx 連接到xx.xx.xx.xx 轉義字符是'^]'。 你有新的郵件。 用戶配置文件結尾 主機> cd/home/scripts host> ./ test _alarm.sh <要查找的變量> -------------------- 連接to host1 -------------------- some text 180 charcters long ------------------- - 連接指向host2 -------------------- 一些文本180個charcters長 等所有其他主機 – user2131714