PHP使用REGEX接受换行符

时间:2013-05-04 16:33:03

标签: php

我想在此正则表达式中允许来自文本区域输入的换行符,但是它们正被删除?

$n= ereg_replace("[^a-zA-Z0-9[:blank:][:space:]&.\n\r\\/+-]+", "", $_REQUEST['input']);

1 个答案:

答案 0 :(得分:1)

使用正则表达式的/m修饰符。

http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

  

m(PCRE_MULTILINE)

     

默认情况下,PCRE将主题字符串视为由单个“行”字符组成(即使它实际上包含多个换行符)。 “行首”元字符(^)仅匹配字符串的开头,而“行尾”元字符($)仅匹配字符串的结尾或终止换行符之前(除非设置了D修饰符) )。这与Perl相同。设置此修饰符时,“行首”和“行尾”构造分别在主题字符串中的任何换行符之后或之前立即匹配,以及在开头和结尾处匹配。这相当于Perl的/ m修饰符。如果主题字符串中没有“\ n”字符,或者模式中没有出现^或$,则设置此修饰符无效。