Code Listing 1:
PHP
$str = "我是一个php程序员";$length = strlen(preg_replace("/[\x00-\x7F]/", '', $str));echo $length;
Output 0 and prompt warning:preg_replace (): Null byte in regex in
Code Listing 2:
PHP
$str = "我是一个php程序员";$length = strlen(preg_replace('/[\x00-\x7F]/', '', $str));echo $length;
Output 21
The only difference between the two codes is that the first argument of Preg_replace is a single or double quotation mark. Please explain!
Reply content:
Code Listing 1:
PHP
$str = "我是一个php程序员";$length = strlen(preg_replace("/[\x00-\x7F]/", '', $str));echo $length;
Output 0 and prompt warning:preg_replace (): Null byte in regex in
Code Listing 2:
PHP
$str = "我是一个php程序员";$length = strlen(preg_replace('/[\x00-\x7F]/', '', $str));echo $length;
Output 21
The only difference between the two codes is that the first argument of Preg_replace is a single or double quotation mark. Please explain!
Single quotation marks do not escape backslash \, double quotation marks will escape backslash \.
The first part is written as:
$str = "I am a PHP programmer";
$length = strlen (Preg_replace ("/[\\x00-\\x7f]/", "", $str));
Echo $length;
It won't be a problem.
and single double quotes do not matter, is your that ASCII \ No escape ... \ \ It's going to be.