我有一个网站,人们可以提交有关iPhone应用程序的网站链接.该人提交了应用程序名称,描述,类别和URL.这个网站有多年没有收到俄罗斯开发商的任何建设性提交,但不幸的是,俄罗斯垃圾邮件发送者发现它让我感到厌恶.即使采取所有针对垃圾邮件的措施,如标题框等,一些人仍坚持发送与iPhone无关的色情俄语内容.
我想完全禁止使用俄语字符完成的任何URL或帖子.对于URL我没什么可做的,除了检查URL是否包含".ru".但是为了描述,我想检测俄罗斯人物.我如何在PHP中执行此操作?
谢谢.
Ale*_*nov 56
Даоченьпросто使用UTF-8正则表达式很容易(假设您的站点使用UTF-8编码):
function isRussian($text) {
return preg_match('/[?-??-???]/u', $text);
}
Run Code Online (Sandbox Code Playgroud)
根据PHP文档,从版本5.1.0开始,可以使用\ p {语言代码}在utf-8 PCRE正则表达式中查找特定(写入)脚本.对于Rusian来说
preg_match( '/[\p{Cyrillic}]/u', $text);
Run Code Online (Sandbox Code Playgroud)
页面上有警告:
通过Unicode属性匹配字符并不快,因为PCRE必须搜索包含超过一万五千个字符的数据的结构.