PHP プログラミングでは、文字列は一般的なデータ型の 1 つです。多くの場合、コードが正常に実行され、潜在的なセキュリティ リスクを回避できるように、文字列をエスケープする必要があります。 PHP のバージョンは常に更新されるため、文字列エスケープにもいくつかの変更が加えられています。この記事では、PHP7 の文字列エスケープ操作を紹介します。
1. エスケープ文字
PHP では、エスケープ文字は引用符、バックスラッシュ、改行などの特殊文字を表すために使用されます。一般的なエスケープ文字は次のとおりです。
を示します 構文
$string = 'This is a 'string''; $string = "This is a "string""; $string = "This is a string with a \ backslash"; $string = "This is a string with a newline"; $string = "This is a stringwith a carriage return"; $string = "This is a string with a tab"; $string = "This is a stringwith a vertical tab";
一重引用符文字列を使用する場合、一重引用符エスケープ文字のみを使用でき、二重引用符エスケープ文字は使用できないことに注意してください。例:
$string = 'This is a "string"'; // 错误 $string = 'This is a 'string''; // 正确
二重引用符で囲まれた文字列では、二重引用符エスケープ文字または一重引用符エスケープ文字を使用できます。
PHP7 より前では、予期しない文字列エスケープの問題を避けるために、手動で文字列を二重引用符でエスケープする必要がありました。 :
$str = ' '; // 双重转义后的字符串
ただし、PHP7 では文字列のエスケープにいくつかの変更が加えられ、この二重エスケープ方法は不要になりました。 , 最新のエスケープ構文を使用して文字列エスケープを処理できます。最新のエスケープ構文を使用した後は、エスケープ文字を手動で二重エスケープする必要はありません。コードはより明確で簡潔になります。最新のエスケープ構文には、二重引用符で囲まれた文字列とヒアドキュメントの 2 つの形式が含まれています/nowdoc strings.
##二重引用符で囲まれた文字列の最新のエスケープ構文
二重引用符で囲まれた文字列では、中括弧を使用して変数名を囲むことができます。文字列に変数の値を含めます。これで、変数名の前にエスケープ文字 $ を使用して、それが変数名であることを示すことができます。$name = 'John'; $string = "Hello, {$name}!"; echo $string; // 输出:'Hello, John!'
$name = 'John'; $string = "Hello, {$name}!"; $string = "Hello, ".$name."!"; echo $string; // 输出:'Hello, John!'
heredoc/nowdoc 文字列の最新のエスケープ構文
heredoc および nowdoc 文字列は PHP5.3 で導入されました。これら 2 つの文字列は、エスケープせずに文字列内に複数行のテキストを含めることができるという点です。$str = <<<EOD This is a multi-line string. EOD;
$str = <<<'EOD' This is a multi-line string. EOD;
$str = <<<EOD This is a "multi-line" string. EOD; echo $str; // 输出:'This is a "multi-line" string.'
$str = <<<'EOD' This is a 'multi-line' string. EOD; echo $str; // 输出:'This is a 'multi-line' string.'
以上がphp7文字列エスケープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。