無論是書寫 JavaScript 還是 PHP,總習慣於使用單引號。但周末在家 coding 的時候碰到個問題,需要通過 PHP 過濾字符串中的換行符,按照下面的方法操作:
$out = str_replace(array('rn', 'r', 'n'), '', $out);PHP 提供三種定義字符串的方法:單引號、雙引號、本地文檔(英文叫做 here document 或者 heredoc)。
單引號:
使用單引號是最高效的方法,因為 PHP 不會檢查單引號字符串中的內置變量和轉義序列,需要轉義的字符只有反斜槓和單引號本身。
雙引號:
會檢查內置變量和轉義序列,但不能識別轉義的單引號。這也正說明了開始那段代碼的錯誤之處,正確的做法是使用雙引號來定義換行的轉義序列:
$out = str_replace(array("rn", "r", "n"), '', $out);本地文檔:
檢查所有的內置變量和轉義序列,雙引號無需轉義。例如:
echo <<
this is a "here document" example.
just for test.
EOT;簡單記錄下,加深印象。