一個小小的換行,其實在不同的平台有著不同的實現,為什麼要這樣,可以是世界是多樣的。本來在unix世界換行就用/n來代替,但是windows為了體現他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,這樣就用你寫的程式在不同的平台上運行有著不少的麻煩。下面是PHP去除分行符號的一些常見方法。
第一種寫法:
複製代碼 代碼如下:
$content=str_replace("\n","",$content);
echo $content;
第二種寫法:
複製代碼 代碼如下:
str_replace("\r\n","",$str);
第三種寫法:
複製代碼 代碼如下:
$content=preg_replace("/\s/","",$content);
echo $content;
關於\n,\r,\t
\n 軟斷行符號: 在Windows 中表示換行且回到下一行的最開始位置 ,在Linux、unix 中只表示換行,但不會回到下一行的開始位置。
\r 軟空格: 在Linux、unix 中表示返回到當行的最開始位置。 在Mac OS 中表示換行且返回到下一行的最開始位置,相當於Windows 裡的 \n 的效果。
\t 跳格(移至下一列)
幾點說明:
它們在雙引號或定界符表示的字串中有效,在單引號表示的字串中無效。
\r\n 一般一起用,用來表示鍵盤上的斷行符號鍵(Linux,Unix中),也可只用 \n(Windwos中),在Mac OS中用\r表示斷行符號。
\t表示鍵盤上的“TAB”鍵。
檔案中的分行符號號:windows : \n,linux,unix: \r\n
補充代碼:
複製代碼 代碼如下:
<?php
//php 不同系統的換行
//不同系統之間換行的實現是不一樣的
//linux 與unix中用 /n
//MAC 用 /r
//window 為了體現與linux不同 則是 /r/n
//所以在不同平台上 實現方法就不一樣
//php 有三種方法來解決
//1、使用str_replace 來替換換行
$str = str_replace(array("/r/n", "/r", "/n"), "", $str);
//2、使用正則替換
$str = preg_replace('//s*/', '', $str);
//3、使用php定義好的變數 (建議使用)
$str = str_replace(PHP_EOL, '', $str);
?>
PHP_EOL是一個些已經定義好的變數,代表php的分行符號,這個變數會根據平台而變,在windows下會是/r/n,在linux下是/n,在mac下是/r.換行就按下面的就可以了。
複製代碼 代碼如下:
$str = str_replace(PHP_EOL, '', $str);