Hướng dẫn encoding and escaping in php in hindi - mã hóa và thoát bằng php trong tiếng Hin-ddi

Mã hóa và trốn thoát

Bởi vì các chương trình PHP thường tương tác với các trang HTML, địa chỉ web (URL) và cơ sở dữ liệu, có các chức năng giúp bạn làm việc với các loại dữ liệu đó. HTML, địa chỉ trang web và các lệnh cơ sở dữ liệu là tất cả các chuỗi, nhưng mỗi chuỗi yêu cầu các ký tự khác nhau được thoát theo những cách khác nhau. Chẳng hạn, một không gian trong địa chỉ web phải được viết là

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

2, trong khi một dấu hiệu ít hơn theo nghĩa đen (
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

3) trong tài liệu HTML phải được viết là
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

4. PHP có một số chức năng tích hợp để chuyển đổi và từ các mã hóa này.

HTML

Các ký tự đặc biệt trong HTML được đại diện bởi các thực thể như

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

5 và
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

4. Có hai hàm PHP biến các ký tự đặc biệt trong một chuỗi thành thực thể của chúng: một để xóa các thẻ HTML và một để trích xuất các thẻ
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

7.entities such as
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

5 and
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

4. There are two PHP functions that turn special characters in a string into their entities: one for removing HTML tags, and one for extracting only
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

7 tags.

Thực thể tìm thấy tất cả các ký tự đặc biệt

Hàm

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8 thay đổi tất cả các ký tự với các thực thể HTML tương đương thành các tương đương đó (ngoại trừ ký tự không gian). Điều này bao gồm dấu hiệu kém hơn (
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

3), dấu hiệu lớn hơn (
$output = htmlspecialchars(input, [quote_style, [charset]]);
0), ampersand và các ký tự được nhấn và các ký tự có dấu.

Ví dụ:

$string = htmlentities("Einstürzende Neubauten");
echo $string;
Einstürzende Neubauten

Phiên bản được thực thể tìm thấy (________ 32, xem bằng cách xem nguồn) hiển thị chính xác là ü trong trang web được hiển thị. Như bạn có thể thấy, không gian chưa được biến thành

$output = htmlspecialchars(input, [quote_style, [charset]]);
3.

Hàm

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8 thực sự chiếm tối đa ba đối số:

$output = htmlentities(input, quote_style, charset);

Tham số

$output = htmlspecialchars(input, [quote_style, [charset]]);
5, nếu được đưa ra, xác định bộ ký tự. Mặc định là trên ISO-8859-1. Tham số
$output = htmlspecialchars(input, [quote_style, [charset]]);
6 có kiểm soát xem các báo giá đơn và đôi có được biến thành các hình thức thực thể của chúng hay không.
$output = htmlspecialchars(input, [quote_style, [charset]]);
7 (mặc định) chỉ chuyển đổi dấu ngoặc kép,
$output = htmlspecialchars(input, [quote_style, [charset]]);
8 chuyển đổi cả hai loại báo giá và
$output = htmlspecialchars(input, [quote_style, [charset]]);
9 cũng không chuyển đổi. Không có tùy chọn để chỉ chuyển đổi trích dẫn đơn. Ví dụ:

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

Chỉ trích dẫn thực thể chỉ các ký tự cú pháp HTML

Hàm

$table = get_html_translation_table(HTML_ENTITIES);
0 chuyển đổi bộ thực thể nhỏ nhất có thể để tạo HTML hợp lệ. Các thực thể sau đây được chuyển đổi:

  • Ampersands (

    $output = htmlspecialchars(input, [quote_style, [charset]]);
    1) được chuyển đổi thành
    $input = <<< End
    "Stop pulling my hair!"  Jane's eyes flashed.

    End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

    5

  • Báo giá kép (

    $table = get_html_translation_table(HTML_ENTITIES);
    3) được chuyển đổi thành
    $table = get_html_translation_table(HTML_ENTITIES);
    4

  • Các trích dẫn đơn (

    $table = get_html_translation_table(HTML_ENTITIES);
    5) được chuyển đổi thành
    $table = get_html_translation_table(HTML_ENTITIES);
    6 (nếu
    $output = htmlspecialchars(input, [quote_style, [charset]]);
    8 được bật, như được mô tả cho
    $input = <<< End
    "Stop pulling my hair!"  Jane's eyes flashed.

    End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

    8)

  • Các dấu hiệu ít hơn (

    $input = <<< End
    "Stop pulling my hair!"  Jane's eyes flashed.

    End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

    3) được chuyển đổi thành
    $input = <<< End
    "Stop pulling my hair!"  Jane's eyes flashed.

    End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

    4

  • Các dấu hiệu lớn hơn (

    $output = htmlspecialchars(input, [quote_style, [charset]]);
    0) được chuyển đổi thành
    $table = get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES);
    2

Nếu bạn có một ứng dụng hiển thị dữ liệu mà người dùng đã nhập vào một biểu mẫu, bạn cần chạy dữ liệu đó thông qua

$table = get_html_translation_table(HTML_ENTITIES);
0 trước khi hiển thị hoặc lưu nó. Nếu bạn không có, và người dùng nhập một chuỗi như
$table = get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES);
4 hoặc
$table = get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES);
5, trình duyệt sẽ nghĩ rằng các ký tự đặc biệt là HTML, dẫn đến một trang bị cắt xén.

Giống như

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8,
$table = get_html_translation_table(HTML_ENTITIES);
0 có thể mất tối đa ba đối số:

$output = htmlspecialchars(input, [quote_style, [charset]]);

Các đối số

$output = htmlspecialchars(input, [quote_style, [charset]]);
6 và
$output = htmlspecialchars(input, [quote_style, [charset]]);
5 có cùng ý nghĩa mà chúng làm cho
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8.

Không có chức năng cụ thể để chuyển đổi từ các thực thể sang văn bản gốc, bởi vì điều này hiếm khi cần thiết. Có một cách tương đối đơn giản để làm điều này, mặc dù. Sử dụng chức năng

$str = htmlentities("Einstürzende Neubauten"); // now it is encoded

$table = get_html_translation_table(HTML_ENTITIES);
$revTrans = array_flip($table);

echo strtr($str, $revTrans);  // back to normal
Einstürzende Neubauten
1 để tìm nạp bảng dịch được sử dụng bởi một trong hai chức năng này theo kiểu trích dẫn nhất định. Ví dụ: để có được bảng dịch mà
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8 sử dụng, hãy làm điều này:

$table = get_html_translation_table(HTML_ENTITIES);

Để lấy bảng cho

$table = get_html_translation_table(HTML_ENTITIES);
0 ở chế độ
$output = htmlspecialchars(input, [quote_style, [charset]]);
9, hãy sử dụng:

$table = get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES);

Một mẹo hay là sử dụng bảng dịch này, lật nó bằng

$str = htmlentities("Einstürzende Neubauten"); // now it is encoded

$table = get_html_translation_table(HTML_ENTITIES);
$revTrans = array_flip($table);

echo strtr($str, $revTrans);  // back to normal
Einstürzende Neubauten
5 và đưa nó vào
$str = htmlentities("Einstürzende Neubauten"); // now it is encoded

$table = get_html_translation_table(HTML_ENTITIES);
$revTrans = array_flip($table);

echo strtr($str, $revTrans);  // back to normal
Einstürzende Neubauten
6 để áp dụng nó vào một chuỗi, do đó thực hiện ngược lại
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8:

$str = htmlentities("Einstürzende Neubauten"); // now it is encoded

$table = get_html_translation_table(HTML_ENTITIES);
$revTrans = array_flip($table);

echo strtr($str, $revTrans);  // back to normal
Einstürzende Neubauten

Tất nhiên, bạn cũng có thể lấy bảng dịch, thêm bất kỳ bản dịch nào khác bạn muốn vào nó, và sau đó thực hiện

$str = htmlentities("Einstürzende Neubauten"); // now it is encoded

$table = get_html_translation_table(HTML_ENTITIES);
$revTrans = array_flip($table);

echo strtr($str, $revTrans);  // back to normal
Einstürzende Neubauten
6. Ví dụ: nếu bạn muốn
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

8 cũng mã hóa không gian thành
$output = htmlspecialchars(input, [quote_style, [charset]]);
3, bạn sẽ làm:

$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);

Xóa thẻ HTML

Hàm

$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
1 xóa các thẻ HTML khỏi chuỗi:

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'

Hàm có thể lấy một đối số thứ hai chỉ định một chuỗi các thẻ để lại trong chuỗi. Chỉ liệt kê các hình thức mở của các thẻ. Các hình thức đóng của các thẻ được liệt kê trong tham số thứ hai cũng được bảo tồn:

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

Các thuộc tính trong các thẻ được bảo quản không được thay đổi bởi

$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
1. Bởi vì các thuộc tính như
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
3 và
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
4 có thể ảnh hưởng đến giao diện và hành vi của các trang web, việc bảo tồn một số thẻ có
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
1 won đã nhất thiết phải loại bỏ khả năng lạm dụng.

Trích xuất thẻ meta

Hàm

$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
6 trả về một mảng của các thẻ meta cho một trang HTML, được chỉ định là tên tệp hoặc URL cục bộ. Tên của thẻ meta (
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
7,
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
8,
$table = get_html_translation_table(HTML_ENTITIES);
$table[' '] = ' ';
$encoded = strtr($original, $table);
9, v.v.) trở thành chìa khóa trong mảng và nội dung của thẻ meta trở thành giá trị tương ứng:

$output = htmlentities(input, quote_style, charset);
0

Hình thức chung của hàm là:

$output = htmlentities(input, quote_style, charset);
1

Vượt qua giá trị

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
0 cho
$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
1 để cho phép PHP cố gắng mở tệp bằng tiêu chuẩn bao gồm đường dẫn.

URL

PHP cung cấp các chức năng để chuyển đổi và từ mã hóa URL, cho phép bạn xây dựng và giải mã URL. Thực tế có hai loại mã hóa URL, khác nhau về cách chúng xử lý không gian. Đầu tiên (được chỉ định bởi RFC 3986) coi một không gian chỉ là một ký tự bất hợp pháp khác trong URL và mã hóa nó là

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

2. Thứ hai (triển khai hệ thống
$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
3) mã hóa một không gian dưới dạng
$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
4 và được sử dụng trong các chuỗi truy vấn xây dựng.

Lưu ý rằng bạn không muốn sử dụng các chức năng này trên một URL hoàn chỉnh, chẳng hạn như http://www.example.com/hello, vì chúng sẽ thoát khỏi các dấu chấm và chém để sản xuất:http://www.example.com/hello, as they will escape the colons and slashes to produce:

$output = htmlentities(input, quote_style, charset);
2

Chỉ mã hóa các URL một phần (bit sau http://www.example.com/) và thêm giao thức và tên miền sau.http://www.example.com/) and add the protocol and domain name later.

Mã hóa và giải mã RFC 3986

Để mã hóa một chuỗi theo quy ước URL, hãy sử dụng

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
5:

$output = htmlentities(input, quote_style, charset);
3

Hàm này lấy một chuỗi và trả về một bản sao với các ký tự URL bất hợp pháp được mã hóa trong quy ước

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
6.

Nếu bạn đang tự động tạo các tài liệu tham khảo siêu văn bản cho các liên kết trong một trang, bạn cần chuyển đổi chúng bằng

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
5:

$output = htmlentities(input, quote_style, charset);
4

Hàm

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
8 giải mã các chuỗi được mã hóa URL:

$output = htmlentities(input, quote_style, charset);
5

Mã hóa chuỗi truy vấn

Các hàm

$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
9 và
$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

0 khác với các đối tác thô của chúng chỉ ở chỗ chúng mã hóa không gian dưới dạng dấu cộng (
$input  = '

Howdy, "Cowboy"

'
; $output = strip_tags($input); // $output is 'Howdy, "Cowboy"'
4) thay vì theo trình tự
$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

2. Đây là định dạng để xây dựng các chuỗi truy vấn và giá trị cookie. Các chức năng này có thể hữu ích trong việc cung cấp các URL giống như hình thức trong HTML. PHP tự động giải mã các chuỗi truy vấn và giá trị cookie, vì vậy bạn không cần sử dụng các chức năng này để xử lý các giá trị đó. Các chức năng rất hữu ích để tạo chuỗi truy vấn:

$output = htmlentities(input, quote_style, charset);
6

SQL

Hầu hết các hệ thống cơ sở dữ liệu đều yêu cầu các chuỗi chữ trong các truy vấn SQL của bạn được thoát ra. Sơ đồ mã hóa SQL, khá đơn giản, một trích dẫn, trích dẫn kép, byte nul và dấu gạch chéo ngược cần phải được đi trước bởi một dấu gạch chéo ngược. Hàm

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

3 thêm các dấu gạch chéo này và hàm
$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

4 loại bỏ chúng:

$output = htmlentities(input, quote_style, charset);
7

Ghi chú

Một số cơ sở dữ liệu (ví dụ, Sybase) thoát khỏi các trích dẫn đơn với một trích dẫn khác thay vì dấu gạch chéo ngược. Đối với các cơ sở dữ liệu đó, hãy bật

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

5 trong tệp php.ini của bạn.

Mã hóa chuỗi C

Hàm

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

6 thoát khỏi các ký tự tùy ý bằng cách đặt dấu gạch chéo ngược trước chúng. Ngoại trừ các ký tự trong Bảng & NBSP; 4-4, các ký tự có giá trị ASCII nhỏ hơn 32 hoặc trên 126 được mã hóa với các giá trị bát phân của chúng (ví dụ:
$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

7). Các chức năng
$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

6 và
$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

9 được sử dụng với các hệ thống cơ sở dữ liệu không đạt tiêu chuẩn có ý tưởng riêng mà các nhân vật cần phải được thoát ra.

Bảng & nbsp; 4-4. & Nbsp; Escapes đơn lẻ được công nhận bởi addcslashes () và dảicslashes ()

Giá trị ASCII

Mã hóa

7

$output = htmlentities(input, quote_style, charset);
00

8

$output = htmlentities(input, quote_style, charset);
01

9

$output = htmlentities(input, quote_style, charset);
02

10

$output = htmlentities(input, quote_style, charset);
03

11

$output = htmlentities(input, quote_style, charset);
04

12

$output = htmlentities(input, quote_style, charset);
05

13

$output = htmlentities(input, quote_style, charset);
06

Gọi

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

6 với hai đối số, chuỗi để mã hóa và các ký tự để thoát:

$output = htmlentities(input, quote_style, charset);
8

Chỉ định một loạt các ký tự để thoát với cấu trúc

$output = htmlentities(input, quote_style, charset);
08:

$output = htmlentities(input, quote_style, charset);
9

Cẩn thận với việc chỉ định

$output = htmlentities(input, quote_style, charset);
09,
$output = htmlentities(input, quote_style, charset);
10,
$output = htmlentities(input, quote_style, charset);
11,
$output = htmlentities(input, quote_style, charset);
12,
$output = htmlentities(input, quote_style, charset);
13,
$output = htmlentities(input, quote_style, charset);
14,
$output = htmlentities(input, quote_style, charset);
15 hoặc
$output = htmlentities(input, quote_style, charset);
16 trong bộ ký tự, vì chúng sẽ được biến thành
$output = htmlentities(input, quote_style, charset);
17,
$output = htmlentities(input, quote_style, charset);
18, v.v.

$input  = 'The bold tags will stay

'; $output = strip_tags($input, ''); // $output is 'The bold tags will stay'

9 lấy một chuỗi và trả về một bản sao với Escapes được mở rộng:

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

0

Ví dụ:

$input = <<< End
"Stop pulling my hair!"  Jane's eyes flashed.

End; $double = htmlentities($input); // "Stop pulling my hair!" Jane's eyes flashed.&lt;p&gt; $both = htmlentities($input, ENT_QUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p> $neither = htmlentities($input, ENT_NOQUOTES); // "Stop pulling my hair!" Jane's eyes flashed.<p>

1

Nhận lập trình PHP, phiên bản thứ 3 ngay bây giờ với nền tảng học tập O hèReilly.learning platform.

Các thành viên của O hèReilly trải nghiệm đào tạo trực tuyến trực tiếp, cộng với sách, video và nội dung kỹ thuật số từ gần 200 nhà xuất bản.nearly 200 publishers.

Mã hóa và trốn thoát trong PHP là gì?

Mã hóa đang chuyển đổi dữ liệu từ một định dạng thành định dạng khác. Giới thiệu là một tập hợp mã hóa, trong đó không phải tất cả các ký tự cần được mã hóa. Chỉ một số ký tự được mã hóa (bằng cách sử dụng ký tự thoát). Escaping is a subset of encoding, where not all characters need to be encoded. Only some characters are encoded (by using an escape character).

Điều gì đang trốn thoát đến PHP?

Một chuỗi thoát cho biết chương trình dừng quy trình vận hành bình thường và đánh giá các ký tự sau đây khác nhau.Trong PHP, một chuỗi thoát bắt đầu với một dấu gạch chéo ngược \.Trình tự thoát áp dụng cho các chuỗi được trích dẫn kép.Một chuỗi được trích xuất một chỉ sử dụng các chuỗi thoát cho một trích dẫn hoặc dấu gạch chéo ngược.. In PHP, an escape sequence starts with a backslash \ . Escape sequences apply to double-quoted strings. A single-quoted string only uses the escape sequences for a single quote or a backslash.

Sự khác biệt giữa các thực thể HTML () và htmlspecialchars () là gì?

Sự khác biệt giữa hàm htmlentity () 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 htmlent () chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML.htmlspecialchars() function convert the special characters to HTML entities whereas htmlentities() function convert all applicable characters to HTML entities.

Làm thế nào để bạn thoát khỏi mã hóa HTML?

Chúng ta có thể thoát khỏi HTML của chuỗi bằng phương thức thay thế của chuỗi ...
ít hơn biểu tượng (
lớn hơn biểu tượng (>) với & gt ;.
Báo giá kép (") với & quot ;.
Trích dẫn đơn (') với ' ;.
ampersand (&) với & amp ;.