Cách chuyển ký tự đặc biệt vào url trong php

Một số ký tự không thể là một phần của URL [ví dụ: khoảng trắng] và một số ký tự khác có ý nghĩa đặc biệt trong URL. Trong biểu mẫu HTML, ký tự

https%3A%2F%2Fgeeksforgeeks.org%2F
7 được sử dụng để phân tách tên khỏi giá trị. Cú pháp chung của URI sử dụng mã hóa URL để giải quyết vấn đề này, trong khi các biểu mẫu HTML thực hiện một số thay thế bổ sung thay vì áp dụng mã hóa phần trăm cho tất cả các ký tự như vậy

Ví dụ: khoảng trắng trong một chuỗi được mã hóa bằng

https%3A%2F%2Fgeeksforgeeks.org%2F
8 hoặc được thay thế bằng dấu cộng [
https%3A%2F%2Fgeeksforgeeks.org%2F
9]. Nếu bạn sử dụng ký tự đường ống dẫn [
https%3A%2F%2Fgeeksforgeeks.org%2F
0] làm dấu phân cách, hãy đảm bảo mã hóa đường ống dẫn thành
https%3A%2F%2Fgeeksforgeeks.org%2F
1. Dấu phẩy trong một chuỗi phải được mã hóa thành
https%3A%2F%2Fgeeksforgeeks.org%2F
2

Bạn nên sử dụng các thư viện tạo URL thông thường của nền tảng để tự động mã hóa các URL của mình, nhằm đảm bảo các URL được thoát đúng cách cho nền tảng của bạn

Xây dựng một URL hợp lệ

Bạn có thể nghĩ rằng một URL "hợp lệ" là hiển nhiên, nhưng thực tế không phải vậy. Ví dụ: một URL được nhập trong thanh địa chỉ trong trình duyệt có thể chứa các ký tự đặc biệt [e. g.

https%3A%2F%2Fgeeksforgeeks.org%2F
3]; . Đồng thời, bất kỳ mã nào tạo hoặc chấp nhận đầu vào UTF-8 đều có thể coi các URL có ký tự UTF-8 là "hợp lệ", nhưng cũng cần dịch các ký tự đó trước khi gửi chúng đến máy chủ web. Quá trình này được gọi là mã hóa URL hoặc mã hóa phần trăm

Ký tự đặc biệt

Chúng tôi cần dịch các ký tự đặc biệt vì tất cả các URL cần tuân theo cú pháp được chỉ định bởi đặc tả Mã định danh tài nguyên thống nhất [URI]. Trên thực tế, điều này có nghĩa là các URL chỉ được chứa một tập con đặc biệt các ký tự ASCII. các ký hiệu chữ và số quen thuộc và một số ký tự dành riêng để sử dụng làm ký tự điều khiển trong URL. Bảng này tóm tắt các ký tự này

Tóm tắt các ký tự URL hợp lệSetcharactersURL sử dụng Chữ và số b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9Chuỗi văn bản, cách sử dụng lược đồ [
https%3A%2F%2Fgeeksforgeeks.org%2F
4], cổng [
https%3A%2F%2Fgeeksforgeeks.org%2F
5], v.v. Không giới hạn- _. ~Chuỗi văn bảnReserveed. * ' [ ] ;. @ & = + $ , / ?

Khi tạo một URL hợp lệ, bạn phải đảm bảo rằng nó chỉ chứa những ký tự được hiển thị trong bảng Tóm tắt các ký tự URL hợp lệ. Việc tuân thủ một URL để sử dụng bộ ký tự này thường dẫn đến hai vấn đề, một là thiếu sót và một là thay thế

  • Các ký tự mà bạn muốn xử lý tồn tại bên ngoài tập hợp trên. Ví dụ: các ký tự bằng tiếng nước ngoài như
    https%3A%2F%2Fgeeksforgeeks.org%2F
    
    6 cần được mã hóa bằng các ký tự trên. Theo quy ước phổ biến, khoảng trắng [không được phép trong URL] cũng thường được biểu thị bằng ký tự dấu cộng
    https%3A%2F%2Fgeeksforgeeks.org%2F
    
    80
  • Các ký tự tồn tại trong tập hợp trên dưới dạng ký tự dành riêng, nhưng cần được sử dụng theo nghĩa đen. Ví dụ:
    https%3A%2F%2Fgeeksforgeeks.org%2F
    
    81 được sử dụng trong các URL để chỉ ra phần đầu của chuỗi truy vấn;

Tất cả các ký tự được mã hóa URL được mã hóa bằng ký tự

https%3A%2F%2Fgeeksforgeeks.org%2F
83 và giá trị hex gồm hai ký tự tương ứng với ký tự UTF-8 của chúng. Ví dụ:
https%3A%2F%2Fgeeksforgeeks.org%2F
6 trong UTF-8 sẽ được mã hóa URL thành
https%3A%2F%2Fgeeksforgeeks.org%2F
85. Chuỗi
https%3A%2F%2Fgeeksforgeeks.org%2F
86 sẽ được mã hóa URL thành
https%3A%2F%2Fgeeksforgeeks.org%2F
87 hoặc
https%3A%2F%2Fgeeksforgeeks.org%2F
88

Các ký tự phổ biến cần mã hóa

Một số ký tự phổ biến phải được mã hóa là

Unsafe characterEncoded valueSpace
https%3A%2F%2Fgeeksforgeeks.org%2F
8"
https%3A%2F%2Fgeeksforgeeks.org%2F
90
https%3A%2F%2Fgeeksforgeeks.org%2F
92#
https%3A%2F%2Fgeeksforgeeks.org%2F
93%
https%3A%2F%2Fgeeksforgeeks.org%2F
94|
https%3A%2F%2Fgeeksforgeeks.org%2F
1

Chuyển đổi một URL mà bạn nhận được từ đầu vào của người dùng đôi khi rất phức tạp. Ví dụ: người dùng có thể nhập địa chỉ là "5th&Main St. " Nói chung, bạn nên xây dựng URL của mình từ các phần của nó, coi mọi thông tin nhập của người dùng là ký tự chữ

Ngoài ra, các URL được giới hạn ở 8192 ký tự đối với tất cả các dịch vụ web và API web tĩnh của Google Maps Platform. Đối với hầu hết các dịch vụ, hiếm khi đạt đến giới hạn ký tự này. Tuy nhiên, xin lưu ý rằng một số dịch vụ nhất định có một số tham số có thể dẫn đến URL dài

Hàm urlencode[] là một hàm có sẵn trong PHP dùng để mã hóa url. Hàm này trả về một chuỗi bao gồm tất cả các ký tự không phải chữ và số ngoại trừ -_. và thay thế bằng dấu phần trăm [%] theo sau là hai chữ số hex và khoảng trắng được mã hóa dưới dạng dấu cộng [+]

cú pháp

string urlencode[ $input ]

Thông số. Hàm này chấp nhận một tham số $input được sử dụng để giữ url được mã hóa

Giá trị trả về. Hàm này trả về một chuỗi được mã hóa khi thành công

Các chương trình dưới đây minh họa hàm urlencode[] trong PHP

chương trình 1




https%3A%2F%2Fgeeksforgeeks.org%2F
3

https%3A%2F%2Fgeeksforgeeks.org%2F
4

https%3A%2F%2Fgeeksforgeeks.org%2F
5

https%3A%2F%2Fgeeksforgeeks.org%2F
6
https%3A%2F%2Fgeeksforgeeks.org%2F
7
https%3A%2F%2Fgeeksforgeeks.org%2F
8
https%3A%2F%2Fgeeksforgeeks.org%2F
9
https%3A%2F%2Fgeeksforgeeks.org%2F
0
https%3A%2F%2Fgeeksforgeeks.org%2F
1

https%3A%2F%2Fgeeksforgeeks.org%2F
4

https%3A%2F%2Fgeeksforgeeks.org%2F
3

đầu ra.

https%3A%2F%2Fgeeksforgeeks.org%2F

chương trình 2




https%3A%2F%2Fgeeksforgeeks.org%2F
3

https%3A%2F%2Fgeeksforgeeks.org%2F
4

https%3A%2F%2Fgeeksforgeeks.org%2F
5

https%3A%2F%2Fgeeksforgeeks.org%2F
6
https%3A%2F%2Fgeeksforgeeks.org%2F
7
https%3A%2F%2Fgeeksforgeeks.org%2F
9____49
https%3A%2F%2Fgeeksforgeeks.org%2F
0
https%3A%2F%2Fgeeksforgeeks.org%2F
1

https%3A%2F%2Fgeeksforgeeks.org%2F
6
https%3A%2F%2Fgeeksforgeeks.org%2F
7
https%3A%2F%2Fide.geeksforgeeks.org%2F
https%3A%2F%2Fwrite.geeksforgeeks.org%2F
https%3A%2F%2Fpractice.geeksforgeeks.org%2F
https%3A%2F%2Fgeeksforgeeks.org%2F
5______49
https%3A%2F%2Fgeeksforgeeks.org%2F
0
https%3A%2F%2Fgeeksforgeeks.org%2F
1

https%3A%2F%2Fgeeksforgeeks.org%2F
6
https%3A%2F%2Fgeeksforgeeks.org%2F
7
https%3A%2F%2Fgeeksforgeeks.org%2F
31
https%3A%2F%2Fgeeksforgeeks.org%2F
9
https%3A%2F%2Fgeeksforgeeks.org%2F
0
https%3A%2F%2Fgeeksforgeeks.org%2F
1

https%3A%2F%2Fgeeksforgeeks.org%2F
6
https%3A%2F%2Fgeeksforgeeks.org%2F
7
https%3A%2F%2Fgeeksforgeeks.org%2F
8
https%3A%2F%2Fgeeksforgeeks.org%2F
9
https%3A%2F%2Fgeeksforgeeks.org%2F
0
https%3A%2F%2Fgeeksforgeeks.org%2F
1

https%3A%2F%2Fgeeksforgeeks.org%2F
4

https%3A%2F%2Fgeeksforgeeks.org%2F
3

đầu ra. ________số 8

Thẩm quyền giải quyết. http. //php. net/thủ công/vi/chức năng. mã ulen. php

PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo Hướng dẫn PHP và Ví dụ về PHP này

Bạn có thể đặt các ký tự đặc biệt trong URL không?

Chỉ cho phép một số ký tự nhất định trong chuỗi URL, ký tự chữ cái, chữ số và một vài ký tự ; . @ & = + $ - _. . ~ * ' [ ] # có thể có ý nghĩa đặc biệt.

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

PHP. Hàm urlencode[] . Hàm này trả về một chuỗi bao gồm tất cả các ký tự không phải chữ và số ngoại trừ -_. và thay thế bằng dấu phần trăm [%] theo sau là hai chữ số hex và khoảng trắng được mã hóa dưới dạng dấu cộng [+].

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".

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

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

Chủ Đề