[英]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.