我有一个正则表达式,它只允许消息中的某些字符。我想要实现的是允许换行符,这将使用nl2br函数保留。
这就是我到目前为止所拥有的:
preg_replace('/[^a-zA-Z0-9ńśćółęążź\ .,-]/','',$message)
据我检查,以下表达式应保留换行符,但我在将其添加到上述表达式时遇到问题:
/(\r|\n|\r\n){2,}/
我有一个正则表达式,它只允许消息中的某些字符。我想要实现的是允许换行符,这将使用nl2br函数保留。
这就是我到目前为止所拥有的:
preg_replace('/[^a-zA-Z0-9ńśćółęążź\ .,-]/','',$message)
据我检查,以下表达式应保留换行符,但我在将其添加到上述表达式时遇到问题:
/(\r|\n|\r\n){2,}/
您只想将\r
&添加\n
到不替换的字符列表中。所以:
preg_replace("/[^a-zA-Z0-9ńśćółęążź\ \.,\-\r\n]/",'',$message)
在上面的表达式中,我还必须将 " 更改'
为 " (以便识别\r
& \n
),但还必须转义.
and-
字符
我相信这就是您正在寻找的。
打印 preg_replace('/' . preg_quote('[^a-z0-9ńśćółęążź\ .,-\r\n])') . '/i','',"test\r\ntest\rtest\ntest");