Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php7 string escape

php7 string escape

WBOY
WBOYasal
2023-05-24 16:44:38656semak imbas

Dalam pengaturcaraan PHP, rentetan ialah salah satu jenis data biasa. Kami selalunya perlu melepaskan diri daripada rentetan untuk memastikan bahawa kod boleh berjalan seperti biasa dan mengelakkan potensi risiko keselamatan. Memandangkan versi PHP sentiasa dikemas kini, pelarian rentetan juga telah mengalami beberapa perubahan. Artikel ini akan memperkenalkan operasi melarikan diri rentetan dalam PHP7.

1. Aksara melarikan diri

Dalam PHP, aksara melarikan diri digunakan untuk mewakili beberapa aksara khas, seperti tanda petikan, garis miring ke belakang, baris baharu, dsb. Watak pelarian biasa termasuk:

  • ': mewakili petikan tunggal
  • ": mewakili petikan berganda
  • : mewakili garis serong ke belakang
  • : Mewakili aksara baris baharu
  • : Mewakili aksara pemulangan pengangkutan
  • : Mewakili aksara tab
  • : Mewakili aksara tab menegak

dalam rentetan Sintaks untuk menggunakan aksara melarikan diri adalah seperti berikut:

$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";

Ambil perhatian bahawa apabila menggunakan rentetan petikan tunggal, anda hanya boleh menggunakan aksara melarikan petikan tunggal, tetapi bukan aksara melarikan petikan berganda Contohnya:

$string = 'This is a "string"'; // 错误
$string = 'This is a 'string''; // 正确
<.>Rentetan petikan berganda boleh menggunakan petikan berganda atau petikan tunggal untuk melepaskan aksara

Sebelum PHP7, untuk mengelakkan masalah melarikan diri rentetan yang tidak dijangka, kami perlu melarikan aksara secara manual , iaitu:

$str = '
'; // 双重转义后的字符串

Walau bagaimanapun, beberapa perubahan telah dibuat pada string escaping dalam PHP7, dan kaedah double escaping ini tidak lagi diperlukan 2. Sintaks Escape

Dalam PHP7, kami boleh menggunakan sintaks escape moden untuk mengendalikan escape rentetan Selepas menggunakan sintaks escape moden, kita tidak perlu menggandakan aksara escape secara manual, dan kod tersebut akan menjadi lebih lancar dan ringkas rentetan heredoc/nowdoc aksara $ di hadapan nama pembolehubah untuk menunjukkan bahawa ia adalah nama pembolehubah

Sebagai contoh, kod berikut menggunakan sintaks melarikan diri rentetan petikan dua moden:

$name = 'John';
$string = "Hello, {$name}!";
echo $string; // 输出:'Hello, John!'

Dalam kod di atas, kerana kita telah menggunakan pendakap kerinting {} untuk pembenaman pembolehubah, kita perlu mendahului nama pembolehubah Gunakan aksara escape $ Jika kita tidak menggunakan sintaks escape baharu, kod tersebut perlu dilepaskan dua kali secara manual:

$name = 'John';
$string = "Hello, {$name}!";
$string = "Hello, ".$name."!";
echo $string; // 输出:'Hello, John!'
  1. Sintaks melarikan diri moden untuk rentetan heredoc/nowdoc

rentetan heredoc dan nowdoc telah diperkenalkan dalam PHP5.3 Ciri kedua rentetan ini ialah ia boleh mengandungi berbilang baris teks dalam rentetan tanpa melarikan diri. Rentetan bermula dengan operator <<< dan berakhir dengan pengecam yang sama:

$str = <<<EOD
This is
a
multi-line
string.
EOD;

nowdoc Rentetan bermula dengan petikan tunggal dan berakhir dengan petikan tunggal yang sama:

$str = <<<'EOD'
This is
a
multi-line
string.
EOD;

dalam PHP7, kita boleh menggunakan sintaks melarikan diri moden untuk mengendalikan aksara melarikan diri dalam rentetan heredoc/nowdoc Berikut ialah sintaks baharu:

$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.'
    Dalam sintaks moden, jika kita perlu memasukkan aksara melarikan diri dalam rentetan. . Anda boleh menggunakan aksara melarikan diri secara langsung tanpa melarikan diri berganda
  1. 3. Ringkasan

Dalam PHP7, terdapat beberapa perubahan dalam operasi melarikan diri rentetan. Sintaks melarikan diri moden boleh membantu kami menulis kod yang lebih jelas dan ringkas serta mengelakkan proses melarikan diri berganda manual yang membosankan. Jika anda seorang pembangun PHP, adalah disyorkan agar anda menggunakan sintaks melarikan diri moden untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda.

Atas ialah kandungan terperinci php7 string escape. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn