Thoát các ký tự đặc biệt trong PHP

Trình tự thoát được sử dụng để thoát một ký tự trong quá trình phân tích chuỗi. Nó cũng được sử dụng để mang lại ý nghĩa đặc biệt để thể hiện ngắt dòng, tab, cảnh báo, v.v.

Các chuỗi thoát được nội suy thành các chuỗi được bao quanh bởi dấu ngoặc kép hoặc cú pháp heredoc. Nếu một chuỗi nằm trong dấu ngoặc đơn hoặc trong nowdocs, thì chuỗi thoát sẽ không hoạt động để có được kết quả như mong đợi. Trong hướng dẫn trước, chúng ta đã thấy nội suy biến

Chuỗi thoát được bắt đầu bằng dấu gạch chéo ngược của ký tự thoát (\) theo sau là ký tự có thể là ký tự chữ và số hoặc ký tự đặc biệt. Nếu đó là một ký tự chữ và số, thì nó có ý nghĩa đặc biệt để biểu thị các ngắt dòng \n, xuống dòng \r và hơn thế nữa

Nếu nó là một ký tự đặc biệt, thì nó sẽ được coi như trong quá trình phân tích chuỗi. Ví dụ: nếu chúng ta nội suy \$var thành một chuỗi thì nó sẽ được lấy là $var. Nếu không có ký tự thoát (\), biến $var PHP được phân tích cú pháp để lấy giá trị của nó

Ví dụ trình tự thoát

Mã này hiển thị một chương trình ví dụ PHP đơn giản để phân biệt hành vi của các chuỗi thoát với các ký tự chữ và số

Trong ví dụ này, tôi đã sử dụng chuỗi thoát \n để thêm dấu ngắt dòng sau nhãn và tôi đã sử dụng \\ để thoát ký tự \ và in nó ra trình duyệt


Các chuỗi thoát được sử dụng rộng rãi trong PHP

Trong phần này, tôi đã liệt kê một số chuỗi thoát được sử dụng rộng rãi và mô tả cách chúng được sử dụng để thoát khỏi ký tự đặc biệt hoặc tạo nghĩa bằng cách kết hợp chúng với một số ký tự chữ và số.

Chào mừng bạn đến với hướng dẫn nhanh về các ký tự và chuỗi thoát trong PHP. Bạn đang cố gắng tìm cách thêm dấu gạch chéo và dấu ngoặc kép vào một chuỗi?

Chuỗi thoát bắt đầu bằng dấu gạch chéo ngược \, theo sau là một vài ký tự. Chúng được sử dụng để đại diện cho các ký tự đặc biệt không thể nhập trong tập lệnh. Một vài ví dụ phổ biến

  • \\ Dấu gạch chéo ngược
  • \" Trích dẫn kép
  • <?php
    // (A) ESCAPE SINGLE QUOTE
    $strA = 'Foo\'s Bar.';
    echo $strA . "<br>";
     
    // (B) ESCAPE DOUBLE QUOTES
    $strB = "Jon says \"foo bar\".";
    echo $strB . "<br>";
     
    // (C) ESCAPE DOLLAR SIGN 
    $strC = "Joy says \"\$foo bar\".";
    echo $strC . "<br>";
     
    // (D) ESCAPE SLASHES
    $strD = "D:\\test\\file.txt";
    echo $strD . "<br>";
    0 Trích dẫn đơn
  • <?php
    // (A) ESCAPE SINGLE QUOTE
    $strA = 'Foo\'s Bar.';
    echo $strA . "<br>";
     
    // (B) ESCAPE DOUBLE QUOTES
    $strB = "Jon says \"foo bar\".";
    echo $strB . "<br>";
     
    // (C) ESCAPE DOLLAR SIGN 
    $strC = "Joy says \"\$foo bar\".";
    echo $strC . "<br>";
     
    // (D) ESCAPE SLASHES
    $strD = "D:\\test\\file.txt";
    echo $strD . "<br>";
    1 Ký hiệu đô la
  • <?php
    // (A) ESCAPE SINGLE QUOTE
    $strA = 'Foo\'s Bar.';
    echo $strA . "<br>";
     
    // (B) ESCAPE DOUBLE QUOTES
    $strB = "Jon says \"foo bar\".";
    echo $strB . "<br>";
     
    // (C) ESCAPE DOLLAR SIGN 
    $strC = "Joy says \"\$foo bar\".";
    echo $strC . "<br>";
     
    // (D) ESCAPE SLASHES
    $strD = "D:\\test\\file.txt";
    echo $strD . "<br>";
    2 Vận chuyển trở lại
  • <?php
    // (A) ESCAPE SINGLE QUOTE
    $strA = 'Foo\'s Bar.';
    echo $strA . "<br>";
     
    // (B) ESCAPE DOUBLE QUOTES
    $strB = "Jon says \"foo bar\".";
    echo $strB . "<br>";
     
    // (C) ESCAPE DOLLAR SIGN 
    $strC = "Joy says \"\$foo bar\".";
    echo $strC . "<br>";
     
    // (D) ESCAPE SLASHES
    $strD = "D:\\test\\file.txt";
    echo $strD . "<br>";
    0 Dòng mới
  • <?php
    // (A) ESCAPE SINGLE QUOTE
    $strA = 'Foo\'s Bar.';
    echo $strA . "<br>";
     
    // (B) ESCAPE DOUBLE QUOTES
    $strB = "Jon says \"foo bar\".";
    echo $strB . "<br>";
     
    // (C) ESCAPE DOLLAR SIGN 
    $strC = "Joy says \"\$foo bar\".";
    echo $strC . "<br>";
     
    // (D) ESCAPE SLASHES
    $strD = "D:\\test\\file.txt";
    echo $strD . "<br>";
    1 Thẻ

Điều đó bao gồm những điều cơ bản, nhưng hãy đọc để biết thêm ví dụ

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Thoát các ký tự đặc biệt trong PHP
Tải xuống & Ghi chú

Thoát các ký tự đặc biệt trong PHP
Trình tự thoát PHP

Thoát các ký tự đặc biệt trong PHP
Bit bổ sung & liên kết

Thoát các ký tự đặc biệt trong PHP
Kết thúc

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn

 

 

KÝ TỰ ESCAPE/ TRÌNH TỰ

Được rồi, bây giờ chúng ta hãy đi vào một số ví dụ đơn giản về cách sử dụng các ký tự thoát và chuỗi trong PHP

 

VÍ DỤ 1) VẤN ĐỀ VỚI CHUỖI PHP

1-cơ bản. php

<?php
// (A) STRINGS CAN BE DEFINED WITH SINGLE OR DOUBLE QUOTES
$strA = 'Foo';
$strB = "$strA Bar";
echo $strA;
echo $strB;
 
// (B) THE PROBLEMS
// (B1) TRYING TO ADD SINGLE QUOTES - PARSE ERROR
// $strA = 'Foo's Bar.';

// (B2) TRYING TO ADD DOUBLE QUOTES - PARSE ERROR
// $strB = "Jon says "foo bar".";

// (B3) TRYING TO ADD DOLLAR SIGN 
// PHP WILL ASSUME IT IS REFERRING TO $FOO VARIABLE
// $strC = "Joy says "$foo bar".";
 
// (B4) ERROR WITH SLASHES
// THIS WILL SHOW UP AS D: est↑ile.txt
// $strD = "D:\test\file.txt";

Tóm tắt nhanh – Chuỗi có thể được xác định bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép. Nhưng vấn đề xảy ra khi chúng ta thực sự cố gắng thêm dấu ngoặc kép bên trong một chuỗi hoặc sử dụng “ký tự dành riêng” chẳng hạn như đô la và dấu gạch chéo

 

 

VÍ DỤ 2) CÁC KÝ TỰ THOÁT

2-thoát. php

<?php
// (A) ESCAPE SINGLE QUOTE
$strA = 'Foo\'s Bar.';
echo $strA . "<br>";
 
// (B) ESCAPE DOUBLE QUOTES
$strB = "Jon says \"foo bar\".";
echo $strB . "<br>";
 
// (C) ESCAPE DOLLAR SIGN 
$strC = "Joy says \"\$foo bar\".";
echo $strC . "<br>";
 
// (D) ESCAPE SLASHES
$strD = "D:\\test\\file.txt";
echo $strD . "<br>";

Đúng vậy, khắc phục sự cố dễ dàng như thoát khỏi các ký tự. Chỉ cần thêm một dấu gạch chéo ở phía trước \ của “nhân vật vi phạm”

 

VÍ DỤ 3) CÁC ĐẶC ĐIỂM ĐẶC BIỆT

3 ký tự. php

<?php
echo "First\r\n";
echo "\tSecond\r\n";
echo "\tThird";
First
    Second
    Third

Các ký tự thoát không chỉ được sử dụng để thoát dấu ngoặc kép, dấu gạch chéo và ký hiệu đô la. Chúng cũng được sử dụng để đại diện cho các ký tự đặc biệt. Có quá nhiều thứ để liệt kê ở đây, tôi sẽ chỉ để lại một liên kết bên dưới nếu bạn quan tâm

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả cho dự án này và đây là một phần nhỏ về một số liên kết bổ sung có thể hữu ích cho bạn

 

TÀI LIỆU THAM KHẢO và LIÊN KẾT

  • Danh sách đầy đủ các chuỗi thoát – PHP

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để xóa tất cả các ký tự đặc biệt khỏi chuỗi trong PHP?

Điều này sẽ làm những gì bạn đang tìm kiếm. chức năng sạch($string) { $string = str_replace(' ', '-', $string); . trả về preg_replace('/[^A-Za-z0-9\-]/', '', $string); . }

Đâu là sự khác biệt giữa Htmlentities() và htmlspecialchars()?

Sự khác biệt giữa hàm htmlentities() và htmlspecialchars(). Sự khác biệt duy nhất giữa các hàm này là hàm htmlspecialchars() chuyển đổi các ký tự đặc biệt thành các thực thể HTML trong khi hàm htmlentities() chuyển đổi tất cả các ký tự có thể áp dụng thành các thực thể HTML .