我正在從CLI命令和Web瀏覽器運行一個php腳本。我需要在兩種方式中正確顯示新行,以便在CLI中不打印"<br />"
,並且它在瀏覽器中顯示新行。有誰知道如何編寫這個PHP函數?如何在CLI和Web瀏覽器中編寫新行?
感謝您的幫助
我正在從CLI命令和Web瀏覽器運行一個php腳本。我需要在兩種方式中正確顯示新行,以便在CLI中不打印"<br />"
,並且它在瀏覽器中顯示新行。有誰知道如何編寫這個PHP函數?如何在CLI和Web瀏覽器中編寫新行?
感謝您的幫助
你可以寫一個函數返回基於執行環境正確的事情:
<?php
if (PHP_SAPI === 'cli')
{
return PHP_EOL;
}
else
{
return "<BR/>";
}
?>
可以將輸出的內容類型設置爲text/plain
,使瀏覽器顯示的內容,那麼,像你將在CLI之前看到
header("Content-type: text/plain");
認沽純文本你輸出任何東西。
之後,總是創建使用\n
代碼中使用\n
新線
。之後,基於Web的版本應用nl2br。
你可以抓住一個變量的內容,並根據平臺(頁/ CLI)變化
成\ n
要做到這一點,你可以somethink這樣寫:
<?php
ob_start();
$a = 1;
$b = 2;
$c = $a + $b;
echo "Sum of $a and $b is <br /> $c";
$content = ob_get_clean();
$type= php_sapi_name();
if ($type == 'cli' || $type == 'cgi-fcgi') {
str_replace("<br />", "\n", $content);
}
echo $content;
?>
或者相反:使用'\ n'並在需要時調用'nl2br()' – fajran 2012-03-12 10:25:29
@Sirko已經回答了前面的問題:) – 2012-03-12 10:31:07
短:'函數BR(){回報:(PHP_SAPI === 'CLI' 「\ n」 「
」?) }' – switz 2012-03-12 10:20:49
我很想用'PHP_EOL'常量代替'「\ n」'來確保你得到了正確的平臺結束行。 – 2012-03-12 10:22:50
@NevStokes,好點。 – 2012-03-12 10:24:38