$txt_unclean = trim(nl2br($_POST['txt_content']));
$txt_content = strip_tags($txt_unclean, '<b><i><u><br>');
$txt_br_replace = preg_replace("/[^a-zA-Z0-9 \!\,\?\.\n s]/", '', preg_replace("!(<br(?:\s?/)?>\s*){2,}!s", "<br />\n<br />\n", $txt_content));
好的。所以我只允许每个换行符有 2 个换行符。例如,如果有 9 个换行符,那么它将用两个换行符替换它。单独这样做,我得到了成功的结果。但是,问题是当我想使用这个正则表达式清理单词时:/[^a-zA-Z0-9 \!\,\?\.\n s]/
它基本上删除了所有换行符,但清理了单词。那么如何保留换行符呢?
例如:我想要这个:
StackOverflow is amazing@$#@#$#@#@#@!#@@!
I KNOW!@$!##$$#!!#$@(*$09@*
根据我写的正则表达式,这应该是输出:
StackOverflow is amazing!!
I KNOW!!!!09