JavaScript を書いている場合でも、PHP を書いている場合でも、常に一重引用符を使用することに慣れています。しかし、週末に自宅でコーディングをしていたときに、次の方法に従って文字列の改行をフィルターする必要があるという問題が発生しました。
$out = str_replace(array('rn', 'r', 'n'), '', $out); PHP では、単一引用符、二重引用符、ローカル ドキュメント (ここでは英語で呼びます) という 3 つの文字列定義方法が提供されています。ドキュメントまたはヒアドキュメント)。一重引用符:
PHP は組み込み変数や一重引用符で囲まれた文字列内のエスケープ シーケンスをチェックしないため、一重引用符を使用するのが最も効率的な方法です。エスケープする必要がある文字はバックスラッシュと一重引用符自体だけです。
二重引用符:
組み込み変数とエスケープシーケンスはチェックされますが、エスケープされた一重引用符は認識されません。これは、最初のコードの何が間違っているかも示しています。正しいアプローチは、二重引用符を使用して改行のエスケープ シーケンスを定義することです。
$out = str_replace(array("rn", "r", "n"), '', $out);ローカルドキュメント:
すべての組み込み変数とエスケープシーケンスを確認してください。二重引用符をエスケープする必要はありません。例:
エコー <<
これは「ヒアドキュメント」の例です
テスト用です。
EOT; 記録するだけで印象が深まります。
http://www.bkjia.com/PHPjc/815785.html