php7文字列エスケープ

May 24, 2023 pm 04:44 PM

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.

##二重引用符で囲まれた文字列の最新のエスケープ構文

二重引用符で囲まれた文字列では、中括弧を使用して変数名を囲むことができます。文字列に変数の値を含めます。これで、変数名の前にエスケープ文字 $ を使用して、それが変数名であることを示すことができます。
  1. たとえば、次のコードは最新の double-引用文字列エスケープ構文:
  2. $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 つの文字列は、エスケープせずに文字列内に複数行のテキストを含めることができるという点です。
  1. ヒアドキュメント文字列は <<< 演算子で始まり、同じ識別子で終わります:
  2. $str = <<<EOD
    This is
    a
    multi-line
    string.
    EOD;
    ログイン後にコピー
Nowdoc 文字列は一重引用符で始まり、同じ一重引用符で終わります:

$str = <<<'EOD'
This is
a
multi-line
string.
EOD;
ログイン後にコピー

PHP7 では、最新のエスケープ構文を使用して、heredoc/nowdoc 文字列内のエスケープ文字を処理できます。新しい構文は次のとおりです:

$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.'
ログイン後にコピー
最新の構文では、エスケープ文字を含める必要がある場合は、二重エスケープを行わずにエスケープ文字を直接使用できます。文字列エスケープ操作にいくつかの変更が加えられています。最新のエスケープ構文は、より明確で簡潔なコードを記述し、手動で二重エスケープするという面倒なプロセスを回避するのに役立ちます。 PHP 開発者の場合は、コードの読みやすさと保守性を向上させるために、最新のエスケープ構文を使用することをお勧めします。

以上がphp7文字列エスケープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

PHP暗号化:対称と非対称暗号化。 PHP暗号化:対称と非対称暗号化。 Mar 25, 2025 pm 03:12 PM

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

PHP認証&amp;承認:安全な実装。 PHP認証&amp;承認:安全な実装。 Mar 25, 2025 pm 03:06 PM

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

PHPを使用してデータベースからデータを取得するにはどうすればよいですか? PHPを使用してデータベースからデータを取得するにはどうすればよいですか? Mar 20, 2025 pm 04:57 PM

記事では、PHPを使用してデータベースからデータを取得し、手順、セキュリティ対策、最適化手法、およびソリューションを使用した一般的なエラーをカバーしています。

PHP CSRF保護:CSRF攻撃を防ぐ方法。 PHP CSRF保護:CSRF攻撃を防ぐ方法。 Mar 25, 2025 pm 03:05 PM

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。

mysqli_query()とmysqli_fetch_assoc()の目的は何ですか? mysqli_query()とmysqli_fetch_assoc()の目的は何ですか? Mar 20, 2025 pm 04:55 PM

この記事では、mysqlデータベースインタラクションのphpでmysqli_query()およびmysqli_fetch_assoc()関数について説明します。それは彼らの役割、違いを説明し、それらの使用の実用的な例を提供します。主な議論は、USINの利点に焦点を当てています

See all articles