PHP(或jQuery)是否有一种方法可以检查字符串是否可读?

4

易于阅读,即字符串是真实单词。这本质上是一种表单验证。理想情况下,我希望测试表单响应的“质地”,以确定实际用户是否填写了表单,而不是寻找表单漏洞的人。可能会在POST的数据上使用字典查找,然后给出返回的“真实单词”的阈值。

我没有在PHP文档中看到任何内容,Google机器也没有提供任何东西,至少是这个特定的。我怀疑有人已经编写了一个PHP类甚至是一个jQuery插件来实现这一点。类似于这样:

$string = "laiqbqi";

is_this_string_human_readable($string);

有什么想法吗?


2
相关链接:https://dev59.com/gG015IYBdhLWcg3w9gfh 和 https://github.com/buggedcom/Gibberish-Detector-PHP。其他一些很酷的技术在这里概述:https://dev59.com/Y1PTa4cB1Zd3GeqPiVYh#4674100。 - Mike B
3
定义可读性。您是指可发音的吗?还是真实的单词?后者最有效地通过字典查找完成。发音检查需要更多的工作。 - Unsigned
还有这个:https://dev59.com/z0vSa4cB1Zd3GeqPhtz_ - karim79
谢谢Mike。Gibberish Detector真是个好东西。 - Dan Whitinger
1个回答

8

可以使用称为马尔科夫链的东西来完成这项工作。

实质上,它们会阅读给定语言(英语、法语、俄语等)中的大量文本,并确定一个字符在另一个字符后出现的概率。

例如,“q”在“z”之后出现的概率比元音字母“a”要低得多。

在更低的层面上,这实际上是作为状态机实现的。

根据Mike的评论,可以在这里找到此功能的PHP版本。

为了趣味,这里有一篇关于马尔科夫链的幽默the Daily WTF文章


乱码检测器!正是我所需要的。谢谢! - Dan Whitinger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接