我希望在服务器端禁止某些UTF-8输入,例如东方语言,其中示例输入可能是“伊”。
但是,我仍然希望继续支持其他拉丁或“类拉丁”的字符,例如威尔士的ŵ和ŷ,因此检查Latin-1不可行。
我的选择是什么?(如果是特定语言,则首选PHP)
非常感谢。
原因:许多非西方字符的浏览器支持通常缺失(例如,在不同的浏览器上,我在上面的问题中只看到一个框),因此对于显示名称这样的事情有时适当限制它,即使对于消息正文不合适。
我希望在服务器端禁止某些UTF-8输入,例如东方语言,其中示例输入可能是“伊”。
但是,我仍然希望继续支持其他拉丁或“类拉丁”的字符,例如威尔士的ŵ和ŷ,因此检查Latin-1不可行。
我的选择是什么?(如果是特定语言,则首选PHP)
非常感谢。
原因:许多非西方字符的浏览器支持通常缺失(例如,在不同的浏览器上,我在上面的问题中只看到一个框),因此对于显示名称这样的事情有时适当限制它,即使对于消息正文不合适。
只需要这样做
preg_match('/[^\\p{Common}\\p{Latin}]/u', $string)
其中 $string
是一个 UTF-8 字符串。如果有非拉丁字符,则返回 "1";否则返回 "0"。
示例:
var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷaás??')); //int(0)
var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷݤaás??')); //int(1)