如何检查字符串是不是包含 zalgo 文本?

Posted

技术标签:

【中文标题】如何检查字符串是不是包含 zalgo 文本?【英文标题】:How to check if a string contains zalgo text?如何检查字符串是否包含 zalgo 文本? 【发布时间】:2013-05-03 18:18:39 【问题描述】:

我目前在我的网页上被 zalgo 文本“发送垃圾邮件”,我需要一个函数来检查它是否包含 zalgo。

我找到了这段代码:

if ( preg_match ( '/[^\x20-\x7E]/', $text ) || preg_match ( '/[^\x20-\x7E]/', $text ) ) 
die('ZALGO not allowed');

但它也会屏蔽一些合法帖子。有没有更好的办法?

谢谢

【问题讨论】:

@sje397 就是这样:zalgotext.com 【参考方案1】:

Zalgo 通常属于 CC 和 CD unicode 范围。尝试匹配/[\xCC\xCD]/。无论如何,您通常应该有一个 reCAPTCHA 来减少垃圾邮件。如果一天不是 4channers,那么第二天可能是伟哥机器人。

【讨论】:

以上是关于如何检查字符串是不是包含 zalgo 文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在打印(xpath)之前检查文本是不是包含特定字符?

检查字符串是不是不包含某些文本

Python/FLASK - html 表单返回字符串。如何检查它是不是包含数字?

检查字符串是不是包含电子邮件地址?

char 数组是不是包含字符串?

检查字典是不是存在于字符串中