谁能告诉我为什么这不起作用?它总是返回false
。
$str = "huuhhu\r\n\r\nmoo.com\r\nwww";
if (preg_match('/(\\n|\\r\\n|\\r)/', $str) === true) {
echo "True";
} else {
echo "False";
}
答案 0 :(得分:4)
preg_match
不会返回true
。它返回匹配数。你需要这样做:
$str = "huuhhu\r\n\r\nmoo.com\r\nwww";
if (preg_match('/(\\n|\\r\\n|\\r)/', $str)) {
echo "True";
} else {
echo "False";
}
另外,你可以简化你的表达:
'/\n|\r\n?/'
答案 1 :(得分:2)
preg_match()返回模式匹配的次数,如果发生错误则返回FALSE
。它永远不会返回true
。