检查字符串中的新行

时间:2012-04-01 08:52:50

标签: php regex preg-match newline

谁能告诉我为什么这不起作用?它总是返回false

$str = "huuhhu\r\n\r\nmoo.com\r\nwww";

if (preg_match('/(\\n|\\r\\n|\\r)/', $str) === true) {
    echo "True";
} else {
    echo "False";
}

2 个答案:

答案 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