这不起作用:
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
显然是因为字符串中没有“\n”字符。但是我还能如何检查是否有换行符是用户在表单字段中按回车键的结果?
原文由 user967451 发布,翻译遵循 CC BY-SA 4.0 许可协议
这不起作用:
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
显然是因为字符串中没有“\n”字符。但是我还能如何检查是否有换行符是用户在表单字段中按回车键的结果?
原文由 user967451 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答14k 阅读✓ 已解决
5 回答8.3k 阅读✓ 已解决
1 回答3.7k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答2k 阅读
1 回答1.1k 阅读✓ 已解决
您现有的测试不起作用,因为您没有在换行符周围使用双引号 (
'\n'
)。将其更改为:if(strstr($string, "\n")) {
或者,如果您想要跨操作系统兼容性:
if(strstr($string, PHP_EOL)) {
另请注意
strpos
将返回 0,如果第一个字符是\n
,您的语句将评估为 FALSE,因此strstr
是更好的选择。或者,您可以将strpos
用法更改为: