正则表达式与php的preg_match一起使用来查找换行符

时间:2011-06-01 19:04:50

标签: php newline expression

我用正则表达式相当新/生锈。我正在从textarea元素中收集一段文本,我想查看填写它的人是否使用了任何段落等等。

我正在使用以下内容,我知道这是错误的。任何帮助将不胜感激。

preg_match('/\r\n|\n|\r/',  $_GET['text']);

2 个答案:

答案 0 :(得分:4)

你的正则表达没错。但是要检测段落,您需要查找两个连续的换行符:

 preg_match('/(\r?\n){2}/'

回车\r是可选的,我只会检查\n换行符,因为大多数平台将其视为换行符。显然,如果提交的文本只是一行而没有段落或换行符,则此检查将失败。

或者,您也可以使用任意排序的空格来探测两个换行符:

 preg_match('/(\s*\n){2}/'

答案 1 :(得分:0)

假设:

  

这是一个段落。这是一个段落。这是一个段落。这是一个段落。这是一个段落。这是一个段落。这是一个段落。这是一个段落。这是一个段落。

     

这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。这是另一个。

你可以这样做:

if (str_replace("\r\n\r\n", '', $str) != $str)
  // the input contains at least two paragraphs