Các ký tự thoát là gì và làm cách nào để chúng tôi tự động xử lý ký tự đó trong php?
Nhiều ngôn ngữ lập trình hiện đại hỗ trợ nhiều cách khác nhau để sử dụng các ký tự khác nhau, chẳng hạn như ký tự tiếng Anh Latinh đơn giản, số, ký hiệu, Biểu tượng cảm xúc và các ký tự đặc biệt khác nhau như ký tự dòng mới hoặc ký tự tab Show Hầu hết các ký tự có thể được nhập đơn giản từ bàn phím và được sử dụng trong đoạn mã PHP nguyên trạng. Ví dụ: 7 là một chuỗi hoàn toàn hợp lệ trong PHP và 8 là một số hoàn toàn hợp lệ. Cũng có thể sử dụng các ký tự nhiều byte (i. e. các ký tự yêu cầu nhiều hơn một byte để lưu trữ) và hoàn toàn hợp lệ. 9PHP, trong số nhiều ngôn ngữ lập trình khác, hỗ trợ một số chuỗi thoát ký tự để sử dụng các ký tự khác nhau không thể nhập từ bàn phím tiêu chuẩn, không thể được biểu diễn dưới dạng văn bản (chẳng hạn như ký tự ẩn hoặc các ký tự điều khiển khác nhau) hoặc không thể đọc được. Các ký tự này sử dụng các chuỗi thoát ký tự mà PHP nhận ra Đối với các số, PHP hỗ trợ các số thập phân tiêu chuẩn, nhưng cũng có thể sử dụng các ký hiệu khác như ký hiệu nhị phân, bát phân, thập lục phân và thậm chí cả ký hiệu khoa học. Họ có thể làm cho mã dễ đọc hơn và rõ ràng hơn tùy thuộc vào các ngữ cảnh khác nhau Dấu ngoặc kép và HeredocTrong PHP, một chuỗi có dấu ngoặc kép ( 0) hoặc Heredoc (xem bên dưới) hỗ trợ trình tự thoát ký tự và phép nội suy biếnNội suy biến có nghĩa là PHP sẽ cố gắng nội suy các biến nếu chuỗi ký tự nằm trong chuỗi trích dẫn kép hoặc Heredoc
Ngoài ra, và tốt hơn là, các biến được nội suy có thể dễ đọc hơn trong dấu ngoặc nhọn
Các chuỗi trích dẫn đơn ( 1) và cú pháp Nowdoc không nội suy các biến
Bởi vì PHP diễn giải và nội suy các ký tự đặc biệt bên trong chuỗi ký tự trích dẫn kép và chuỗi ký tự heredoc, dấu gạch chéo ngược ( 2) được sử dụng làm "ký tự thoát"Ví dụ: sử dụng 3 thay vì 4 ngăn PHP nội suy biến 4
Sử dụng hai ký tự dấu gạch chéo ngược ngăn chính ký tự dấu gạch chéo ngược trở thành ký tự thoát
PHP hỗ trợ một số chuỗi thoát đặc biệt cho các ký tự đặc biệt. Trong ví dụ trên, 6 được coi là một chuỗi thoát, bởi vì nó phủ nhận phép nội suy của PHP bằng cách làm cho PHP sử dụng ký tự 7 bằng chữCó lẽ cái đơn giản nhất là ký tự tab. Có thể sử dụng một ký tự tab bên trong một chuỗi ký tự, nhưng việc sử dụng 8 làm cho rõ ràng hơn rằng một ký tự tab được sử dụng, thay vì khoảng trắng. Sử dụng 8 thay vì ký tự tab theo nghĩa đen cũng giúp tránh các IDE khác nhau tự động thay đổi ký tự tab thành dấu cách
9 là tab dọc. Trên các thiết bị đầu cuối được hỗ trợ, một ký tự tab dọc chuyển sang ký tự tiếp theo trong dòng tiếp theo
0 3 ("Trở về vận chuyển") và 4 ("Nạp dòng") là các ký tự dòng mớiTrước đây, các hệ thống khác nhau bắt đầu sử dụng 3 hoặc 4 và thậm chí cả Windows với 9. Ví dụ: theo mặc định, Linux và MacOS sử dụng ký tự "nguồn cấp dữ liệu xuống dòng" ( 4) làm ký tự xuống dòng, trong khi Windows sử dụng 9 (dấu xuống dòng, theo sau là ký tự xuống dòng). Các hệ thống MacOS cũ hơn đã sử dụng 3 làm ký tự dòng mới
1_______5_______2Ký tự thoát thường được sử dụng để gửi các chuỗi thoát ANSI đến một thiết bị đầu cuối. Ví dụ: 4, theo sau là 6 yêu cầu thiết bị đầu cuối thay đổi màu thành xanh lục và 7 cho màu vàng 3Nếu đoạn mã trên được chạy trong một thiết bị đầu cuối hỗ trợ các chuỗi thoát ANSI, nó sẽ diễn giải đoạn mã đó và sửa đổi văn bản Ký tự nguồn cấp dữ liệu biểu mẫu là ký tự điều khiển ASCII để ngắt trang. Máy in có thể đẩy trang hiện tại ra và bắt đầu từ đầu trang khác. Khi 8 được chuyển đến thiết bị đầu cuối hiển thị, nó có thể xóa màn hình, mặc dù điều này rất hiếm trong hầu hết các phần mềm mô phỏng thiết bị đầu cuốiPHP hỗ trợ thoát một số Bát phân thành ký tự ASCII của nó Ví dụ: ký tự ASCII () cho 0 là 1 ở dạng thập phân. 80 ở dạng thập phân sang Bát phân là 2Chuỗi thoát ký tự Octal có thể được sử dụng cho ký tự 0 4_______5_______5Trên thực tế, có thể biểu diễn bất kỳ ký tự ASCII cơ bản nào bằng ký hiệu này 6_______5_______7Bất kỳ giá trị nào trong phạm vi từ 4 đến 5 sẽ được hiểu là chuỗi thoát ký tự Bát phânLưu ý rằng các số ký tự ASCII mở rộng (128 đến 255) không tương thích với UTF-8. PHP coi giá trị là 6 (tháng 10. 7; . 1) không hợp lệ vì đó không phải là giá trị UTF-8 hợp lệMặc dù PHP chấp nhận các giá trị như vậy nhưng chúng được coi là các ký tự không hợp lệ trong ngữ cảnh UTF-8 Tương tự như các chuỗi thoát ký tự Octal, PHP cũng cho phép các số Hexadecimal trong một chuỗi thoát ký tự với tiền tố 9Nó chỉ cho phép một byte, có nghĩa là phạm vi hợp lệ là 0 đến 1. Tuy nhiên, giới hạn UTF-8 vẫn được áp dụng và chỉ các giá trị tối đa 2 mới được coi là ký tự hợp lệHơn nữa, các ký tự thập lục phân không phân biệt chữ hoa chữ thường (i. e. 3 bằng với 4 và 5)ASCII 0 là 1, tương đương với 8 8_______5_______5Ví dụ 9 tương tự có thể được thực hiện với các chuỗi thoát ký tự Hex 0_______5_______7PHP hỗ trợ sử dụng bất kỳ ký tự Unicode nào có tiền tố 0 và giá trị Hex của điểm mã bên trong dấu ngoặc nhọn 2 3PHP sẽ đưa ra lỗi Trình phân tích cú pháp nếu ký tự Unicode vượt quá giá trị 1 4_______6_______5Giới hạn trên của 1 là do UTF-8 có các ranh giới là 3 và 4
Ký hiệu Unicode 7 có thể được sử dụng làm chuỗi thoát cho bất kỳ ký tự nào. Dưới đây là một số ví dụCharacterCode point (Dec)Code point (Hex)Unicode escape sequence 86541 9 006642 01 73624 03 04836420AC 0510A 0713D 0999 1111B 13271B 1512C 17 181280241F418 19 203461D85 21Vài năm trước, PHP 5. 2. 1 đã giới thiệu một cú pháp chuỗi mới gọi là "chuỗi nhị phân". Nó chỉ đơn thuần là một cú pháp và nó có nghĩa là một cải tiến tương thích về phía trước cho PHP 6 sắp tới Cú pháp là thêm tiền tố vào chuỗi trích dẫn đơn/kép với 22 và PHP có thể suy ra nó dưới dạng chuỗi nhị phân 6 7Các hàm 23, 24 và 25 dùng để phân biệt chuỗi nhị phân và chuỗi Unicode trong PHP 6, nhưng chúng không bao giờ xuất hiện trong phiên bản PHP 7 tiếp theo. Tuy nhiên, cú pháp chuỗi nhị phân đã xuất hiện trong PHP 7 và cũng tiếp tục trong PHP 8Cú pháp chuỗi nhị phân không có chức năng đặc biệt và không phục vụ mục đích nào khác ngoài việc là tàn tích lịch sử, câu hỏi phỏng vấn giật tóc, mẩu tin cho các bài viết PHP và gây nhầm lẫn cho các nhà phát triển PHP khác Cú pháp này không được dùng nữa, cũng không được lên kế hoạch xóa trong phiên bản PHP trong tương lai ký hiệu sốKhi sử dụng các chữ số trong tập lệnh PHP, theo mặc định, PHP sẽ yêu cầu các giá trị thập phân. Tuy nhiên, PHP cũng cho phép các ký hiệu số khác như số nhị phân, số bát phân, số thập lục phân và ký hiệu khoa học Từ PHP7. 4, PHP cũng cho phép dấu phân cách số gạch dưới để dễ đọc hơn đối với các số dài Bất kỳ chữ số nào bắt đầu bằng tiền tố 26 sẽ được coi là số nhị phân 8Với dấu phân cách số gạch dưới, có thể sử dụng dấu gạch dưới để dễ đọc hơn 9 0PHP chấp nhận các giá trị số bát phân với tiền tố 27. Từ PHP8. 1, PHP cũng hỗ trợ ký hiệu số Octal rõ ràng với tiền tố 28 và 29 1Các số thập lục phân được diễn giải bằng tiền tố 30 và 31 2PHP cũng hỗ trợ "ký hiệu E" khoa học cho các giá trị float 3Ký hiệu E tương đương với 32 (10 mũ 0). Lưu ý rằng trong nhiều ngôn ngữ lập trình (bao gồm cả PHP), toán tử 33 được sử dụng cho XOR, trong khi 34 được sử dụng cho nguồnLợi thế dễ đọc của ký hiệu số khoa học rõ ràng hơn đối với các số rất chính xác hoặc số lớn 4_______0_______5PHP hỗ trợ nhiều dạng chuỗi thoát ký tự và ký hiệu số. Nó gần đây đã thêm ký hiệu số Octal rõ ràng với tiền tố 28/ 29 (PHP 8. 1) và dấu phân cách số gạch dưới (PHP 7. 4)Lưu ý rằng các chuỗi thoát ký tự và ký hiệu số này không được diễn giải trong đầu vào của người dùng. Ví dụ: chuyển một số được phân tách bằng dấu gạch dưới thành một số nguyên sẽ không sử dụng tính năng dấu gạch dưới-số-dấu cách của PHP cho các chuỗi do người dùng cung cấp 6Các chuỗi thoát ký tự khác được sử dụng trong đầu vào của người dùng cũng không được đánh giá. Ví dụ: nếu một biểu mẫu gửi 37 đến một trường biểu mẫu, thì giá trị đó sẽ được sử dụng nguyên trạng mà không được hiểu là một chuỗi thoát ký tự Bát phân. Ngược lại, 38 mang lại giá trị tương đương 39 vì chúng được đánh giá trong các tệp nguồn PHP
Làm cách nào để thoát các ký tự đặc biệt trong PHP?Thoát nhân vật
. the backslash sign ( \ ) is used as an "escape character".
ký tự thoát là gì?Trong điện toán và viễn thông, một ký tự thoát là ký tự đưa ra cách giải thích thay thế cho các ký tự sau trong chuỗi ký tự . Một ký tự thoát là một trường hợp cụ thể của siêu ký tự.
Làm cách nào để thoát khỏi một chuỗi trong PHP?Việc thoát các ký tự trong chuỗi có thể được thực hiện bằng cách sử dụng \ (dấu gạch chéo ngược) trước ký tự bạn muốn thoát . |