如何检测字符串中是否有新换行符?
2022-08-30 13:02:24
这不起作用:
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
显然是因为字符串中没有“\n”字符。但是,我还能如何检查是否存在用户在表单字段中按 Enter 的结果的换行符呢?
这不起作用:
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
显然是因为字符串中没有“\n”字符。但是,我还能如何检查是否存在用户在表单字段中按 Enter 的结果的换行符呢?
现有测试不起作用,因为换行符 () 两边未使用双引号。将其更改为:'\n'
if(strstr($string, "\n")) {
或者,如果您希望跨操作系统兼容:
if(strstr($string, PHP_EOL)) {
另请注意,如果第一个字符是 ,则将返回 0,并且您的语句的计算结果将为 FALSE,因此是更好的选择。或者,您可以将用法更改为:strpos
\n
strstr
strpos
if(strpos($string, "\n") !== FALSE) {
echo 'New line break found';
}
else {
echo 'not found';
}
换行符在窗口上,在 UNIX 机器上是 。因此,它搜索而不是“\n”以实现跨操作系统兼容性,或者同时搜索“\r\n”和“\n”。\r\n
\n
PHP_EOL