【发布时间】:2011-08-22 16:32:23
【问题描述】:
我正在尝试使用正则表达式在 PHP 中清理用户提交的 cmets,但已经变得相当卡住和困惑!
是否可以使用正则表达式来:
-
删除重复两次以上的标点符号,以便:
-
OMG it was AWESOME!!!!变为OMG it was AWESOME!! -
!!!!!!!!!!.........------变为!!..-- -
!?!?!?变为!?
-
-
删除重复的词组单词(例如用户复制并粘贴了一条消息),因此:
-
spamspamspamspam变为spam -
I love copy and paste. I love copy and paste. I love copy and paste.变为I love copy and paste.
-
-
删除超过 10 个大写字母的字母和空格集合:
-
I LOVE CAPITALS THEY ARE SO AWESOME变为I love capitals they are so awesome -
GOOD that sounds保持不变
-
您有什么建议吗?
这是针对学生系统的(因此至少有尝试整理他们发布的内容的冲动),尽管我不希望过滤它或阻止他们的消息,只是用一些正则表达式“纠正”它.
感谢您的宝贵时间,
编辑:
如果无法使用正则表达式(或与其他 PHP 混淆的正则表达式),你会怎么做?
【问题讨论】:
-
不要试图从技术上解决沟通问题。你只能失败。
-
我认为在这种情况下该错误是在用户级别
-
我同意 Wadih 的评论,我不打算解决这个问题(我认为我不能),只是尝试执行一些有助于“限制”它的合理规则!