Cách mã hóa URL trong PHP?

Tiếp tục đọc để biết cách bạn có thể mã hóa một URL trong PHP và tránh các lỗi hoặc sự cố không mong muốn

nội dung

Làm cách nào để thực hiện mã hóa URL trong PHP?

Chức năng mã hóa URL PHP có thể được sử dụng để mã hóa URL. Tất cả những gì bạn phải làm là chuyển chuỗi được yêu cầu tới hàm mã hóa URL PHP để mã hóa nó. Hàm đã nói mã hóa tất cả các ký tự đặc biệt trong chuỗi đã cho ngoại trừ “-”,”. ” và ký tự “_”

Do đó, bạn không cần phải kiểm tra thủ công xem các ký tự trong URL của mình có phải là các ký tự URL hợp lệ hay không khi có chức năng đã cho. Hàm đã nêu thay thế mọi ký tự không phải chữ và số bằng tổ hợp ký tự phần trăm “%” và hai chữ số hex như “%xx. ” Ngoài ra, bạn sẽ nhận thấy rằng tất cả khoảng trắng sẽ được thay thế bằng dấu cộng “+” trong các URL được mã hóa

Đây là cú pháp đơn giản nhất của hàm mã hóa URL tuyệt vời. mã url[chuỗi].

– Ví dụ mã hóa

Chẳng hạn, bạn muốn mã hóa một URL chứa một số ký tự URL không hợp lệ. Do đó, bạn sẽ chọn cùng một URL, chuyển nó tới hàm urlencode[] và nhận một URL chỉ chứa các ký tự URL hợp lệ

Vui lòng sử dụng đoạn mã dưới đây để mã hóa một URL trong PHP


// xác định chuỗi đầu vào
$input = “

URL được mã hóa sẽ được nhìn thấy như thế này trên màn hình

https. //www. lấy mẫu. com?username=%3C%3C768FD%23%25%5E

Làm cách nào để mã hóa bằng cách làm theo RFC 3986?

Bạn có thể sử dụng hàm rawurlencode[] để mã hóa URL PHP trong khi tuân theo RFC 3986. Hàm được đề cập chấp nhận một đối số chuỗi tương tự như hàm urlencode[]. Nó thay thế tất cả các ký tự không phải chữ và số ngoại trừ. ,-,_ và ~ với dấu phần trăm “%” và hai chữ số hex như “%xx”

Bạn có thể tham khảo cú pháp tại đây. rawurlencode[chuỗi].

– Giải pháp mã hóa bằng Rawurlencode[]

Hãy thử nghĩ về việc có một chuỗi mà bạn muốn mã hóa theo quy tắc RFC 3986. Vì vậy, bạn sẽ thực thi hàm rawurlencode[] với chuỗi được chỉ định và chuỗi mã hóa PHP ngay lập tức

Đây là đoạn mã hóa sử dụng hàm rawurlencode[] để mã hóa URL PHP


// defining the name string
$name = “abc&%mm lkjop”;
// using the rawurlencode[] function
echo “//www.newurl.com?name=” . urlencode[$name];
// output: //www.newurl.com?name=abc%26%25mm+lkjop
?>

Cách sử dụng hàm Htmlentities[]

Hàm htmlentities[] cũng giúp mã hóa chuỗi truy vấn trong URL. Hàm đã nói sẽ chuyển đổi tất cả các thực thể ký tự HTML có trong chuỗi được truyền cho nó. Nó chấp nhận các đối số chuỗi, cờ, mã hóa và double_encode. Nhưng chỉ cần một chuỗi để thực thi hàm đã cho

Bạn có thể xem cú pháp của htmlentities[] tại đây. htmlentities[chuỗi, cờ, mã hóa, double_codes].

– Ví dụ mã hóa sử dụng tham số Htmlentities[]

Tham số đầu tiên của hàm htmlentities[] chiếm chuỗi cần mã hóa. Tham số thứ hai “flags” cho phép bạn quyết định cách bạn muốn xử lý các chuỗi và trích dẫn đơn vị mã không hợp lệ. Hơn nữa, cùng một tham số cho phép bạn xử lý loại tài liệu đang được sử dụng

Lưu ý rằng giá trị mặc định cho tham số flags được đặt thành ENT_QUOTES. ENT_SUBSTITUTE. ENT_HTML401 trong PHP >= 8. 1. 0 và ENT_COMPAT trong các phiên bản trước của PHP

Mặt khác, đối số “mã hóa” xác định bộ ký tự bằng cách đặt nó thành tùy chọn cấu hình “default_charset” theo mặc định trong các phiên bản PHP dưới 8. Tuy nhiên, giá trị mã hóa được đặt thành null trong PHP 8 trở đi. Cuối cùng, tham số “double_codes” được đặt thành true để cho phép dịch mọi thứ, kể cả các thực thể HTML

Làm cách nào để mã hóa chuỗi trong PHP bằng cách sử dụng Htmlentities[]?

Bạn chỉ cần chuyển chuỗi bắt buộc tới hàm htmlentities[] nếu hài lòng với giá trị mặc định của các tham số khác. Trong trường hợp khác, chuyển tất cả các giá trị tham số mong muốn và thực hiện hàm đã cho

– Ví dụ mã hóa sử dụng Htmlentities

Ví dụ. bạn có một chuỗi truy vấn chứa các thực thể ký tự HTML. Bây giờ, bạn muốn mã hóa chuỗi PHP trong khi đảm bảo rằng mọi thứ cùng với các thực thể ký tự HTML được chuyển đổi. Vì vậy, bạn sẽ sử dụng hàm htmlentities[] như trong đoạn mã được đính kèm bên dưới


// setting the content type to plain text
header[‘Content-Type: text/plain’];
// defining a variable
$var = “

Khi nào bạn nên sử dụng htmlentities[]?

Bạn nên sử dụng hàm htmlentities[] khi tên biến của bạn giống với một số thực thể HTML. Đó là do các hàm urlencode[] hoặc rawurlencode[] sẽ chuyển đổi các loại biến đó thành các ký tự đặc biệt. Do đó, bạn sẽ nhận được các URL được mã hóa với các ký hiệu không cần thiết

Phần kết luận

Kết thúc chủ đề mã hóa URL PHP, thật thú vị khi thấy nhiều loại chức năng mã hóa URL giống nhau ở một số điểm và khác nhau ở những điểm khác. Dưới đây là những sự thật mà bạn nên nhớ trước khi sử dụng bất kỳ chức năng nào ở trên trong chương trình PHP của mình

  • Hàm urlencode[] có thể được sử dụng để mã hóa URL PHP
  • Bạn có thể sử dụng hàm rawurlencode[] để mã hóa URL trong PHP đồng thời tuân theo các quy tắc được chỉ định bởi RFC 3986
  • Hàm htmlentities[] có thể được sử dụng để mã hóa tất cả các thực thể ký tự HTML trong chuỗi đã cho
  • Hàm htmlspecialchars[] có thể giúp giữ nguyên các ký tự đặc biệt trong khi chỉ mã hóa một số ký tự đặc biệt cụ thể

Thật vậy, mã hóa URL là một quá trình cần thiết thường tự đặt ra như một nhiệm vụ khó khăn. Nhưng các chức năng tích hợp sẵn của PHP đã làm cho việc mã hóa URL trở nên dễ dàng hơn rất nhiều bằng cách cung cấp các cú pháp dễ thực hiện

5/5 - [15 phiếu]

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

Làm cách nào để mã hóa và giải mã URL trong PHP?

Hàm urldecode[] là một hàm có sẵn trong PHP dùng để giải mã url được mã hóa bởi hàm encoded[] . Thông số. Hàm này chấp nhận tham số duy nhất $input giữ url được giải mã. Giá trị trả về. Hàm này trả về chuỗi đã giải mã thành công.

Làm cách nào để mã hóa id trong URL trong PHP?

inc. trang php. $customer_id = $_GET['id']; . $decryped_id .

Mã hóa URL %22 là gì?

Mã hóa URL từ %00 đến %8f

Làm cách nào để nhận các tham số URL PHP?

Các tham số từ một chuỗi URL có thể được truy xuất trong PHP bằng cách sử dụng các hàm parse_url[] và parse_str[] . Ghi chú. URL trang và các tham số được phân tách bằng dấu ? . hàm parse_url[]. Hàm parse_url[] được sử dụng để trả về các thành phần của URL bằng cách phân tích cú pháp URL đó.

Chủ Đề