0

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

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

1 回答 1

1

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

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

m (PCRE_MULTILINE)

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

于 2013-05-04T20:02:29.327 回答