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