簡體   English   中英

php單引號和雙引號

[英]php single and double quotes

//remove line breaks
function safeEmail($string) {
     return  preg_replace( '((?:\n|\r|\t|%0A|%0D|%08|%09)+)i' , '', $string );
}

/*** example usage 1***/
$from = 'HTML Email\r\t\n';

/*** example usage 2***/
$from = "HTML Email\r\t\n";

if(strlen($from) < 100)
{
    $from = safeEmail($from);

    echo $from;
}

1返回HTML Email \\ r \\ t \\ n,而2返回HTML Email

什么是報價?

根據PHP文檔

與雙引號和heredoc語法不同,特殊字符的變量和轉義序列在單引號字符串中出現時不會被擴展。

換句話說,雙引號字符串擴展特殊字符的變量和轉義序列。 單引號字符串不會。

所以在example1中,使用單引號字符串,字符串就像你看到的那樣。 斜線和所有。

但是在example2中,它不是以字符串\\r\\t\\n結尾,而是以回車符,選項卡和新行結束。 換句話說,擴展了特殊字符的轉義序列。

在PHP中用單引號表示\\ n \\ r \\ t \\ ...的特殊字符不能按預期工作。 根據文件

要指定文字單引號,請使用反斜杠( \\ )對其進行轉義。 要指定文字反斜杠,請將其加倍( \\\\ )。 反斜杠的所有其他實例將被視為文字反斜杠:這意味着您可能習慣使用的其他轉義序列(如\\r\\n )將按字母順序輸出,而不是具有任何特殊含義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM