我只是answered this question,并试图提出一个正则表达式,如果字符串在前面或后面有换行符,它将返回true
。
我想出了this ......
var_dump(preg_match('/^\n|\n$/', $testVar));
但我收到了错误......
警告:preg_match():第5行内部pcre_fullinfo()错误-3
我不知道我做错了什么。对我来说,匹配换行符是第一个字符或最后一个字符。
请赐教。
感谢。
我意识到这个问题标题应该是为什么我的正则表达式不起作用?或类似的。
但是,我将保留原样,并欢迎使用正则表达式的其他解决方案。
答案 0 :(得分:5)
为什么你不采用通常的字符串函数?
if ((substr($string,0,1) == "\n") || (substr($string,-1) == "\n")) {
// found newline at the beginning or end
}
或只是
if (($string[0] == "\n") || ($string[strlen($string)-1] == "\n")) { /* ... */ }
答案 1 :(得分:3)
trim($testVar,"\n") != $testVar
答案 2 :(得分:1)
不是你,是我!你没有做错任何事。这是服务器的php安装问题。我记得在使用apache2在debian服务器上安装PHP时看到了这一点。我完全不知道为什么或这是什么,但我终于在我的服务器上重新安装了php,一切都很好。