2017-08-22 40 views
1

我有在它的文字审查的领域,我想发现那里的人已经使用特殊字符来获得进攻的话等以往的过滤器,所以不是打字badword他们输入b.a.d.w.o.r.db*a*d*w*o*r*dSQL文本功能

有没有办法在文字审查中查找单词中的3个或更多特殊字符,也许某种特殊字符的计数功能?

+2

你有一个表/字段,你不允许的话吗? – Matt

+1

一切皆有可能。 – sagi

回答

1

如果你有一个包含字段的表格,你不想让你可以将它添加到WHERE子句中,就像使用REGEX_REPLACE那样。

SELECT yourfield 
FROM yourtable 
WHERE REGEXP_REPLACE(yourfield,'[^a-zA-Z'']','') NOT IN (SELECT badwords 
                 FROM badwordstable) 
+0

感谢马特,你不会相信有些人通过过滤器获得的东西多么有创意! – Gavin