php单引号和双引号 //删除换行符 函数safeEmail($string){ 返回preg|u replace('(((?:\n |\r |\t |%0A |%0D |%08 |%09)+)i','','',$string); } /***示例用法1***/ $from='HTML电子邮件\r\t\n'; /***示例用法2***/ $from=“HTML电子邮件\r\t\n”; 如果(strlen($from)php单引号->->比你在这里能得到的信息更完整、更清晰因此,strlen('HTML Email\r\t\n')=16,strlen(“HTML Email\r\t\n”)=13,如果这让它更清晰的话:) //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; }

php单引号和双引号 //删除换行符 函数safeEmail($string){ 返回preg|u replace('(((?:\n |\r |\t |%0A |%0D |%08 |%09)+)i','','',$string); } /***示例用法1***/ $from='HTML电子邮件\r\t\n'; /***示例用法2***/ $from=“HTML电子邮件\r\t\n”; 如果(strlen($from)php单引号->->比你在这里能得到的信息更完整、更清晰因此,strlen('HTML Email\r\t\n')=16,strlen(“HTML Email\r\t\n”)=13,如果这让它更清晰的话:) //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; },php,Php,1返回HTML电子邮件\r\t\n而 2返回HTML电子邮件 引用的内容是什么?根据 与双引号和heredoc语法不同,特殊字符的变量和转义序列出现在单引号字符串中时不会展开 换句话说,双引号字符串为特殊字符扩展变量和转义序列。单引号字符串不能 因此,在示例1中,对于单引号字符串,字符串与您看到的一模一样。斜杠等等 但在示例2中,它不是以字符串\r\t\n结尾,而是以回车、制表符和新行结尾。换句话说,特殊字符的转义序列被展开。在PHP中使用单引号将这些特殊字符\n\r\t。。。没有按预期工作。

1返回HTML电子邮件\r\t\n而 2返回HTML电子邮件

引用的内容是什么?

根据

与双引号和heredoc语法不同,特殊字符的变量和转义序列出现在单引号字符串中时不会展开

换句话说,双引号字符串为特殊字符扩展变量和转义序列。单引号字符串不能

因此,在示例1中,对于单引号字符串,字符串与您看到的一模一样。斜杠等等


但在示例2中,它不是以字符串
\r\t\n
结尾,而是以回车、制表符和新行结尾。换句话说,特殊字符的转义序列被展开。

在PHP中使用单引号将这些特殊字符\n\r\t。。。没有按预期工作。 根据报告:

要指定文字单引号,请使用反斜杠(
\
)将其转义。指定文字 反斜杠,加倍(
\\
)。反斜杠的所有其他实例将被视为文字 反斜杠:这意味着您可能会使用其他转义序列,例如
\r
\n
,将按指定的字面形式输出,而不是具有任何特殊含义


可能的重复让我给你展示一个小魔术:google->php单引号->->比你在这里能得到的信息更完整、更清晰因此,
strlen('HTML Email\r\t\n')
=16,
strlen(“HTML Email\r\t\n”)
=13,如果这让它更清晰的话:)
//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;
}