文字列が1つのスクリプト? (...のみ{ラテン}、{ギリシャ}、などだった何の意味?
」のswitch
を使用しますすべての」可能なオプション、すなわち:
<?php
echo detectChars("例例")."\n";
echo detectChars("Χαίρετε")."\n";
echo detectChars("user345")."\n";
function detectChars($username){
$chars = "NOT ALLOWED";
switch(true){
case preg_match('/^\p{Common}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Common}");
break;
case preg_match('/^\p{Arabic}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Arabic}");
break;
case preg_match('/^\p{Armenian}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Armenian}");
break;
case preg_match('/^\p{Bengali}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Bengali}");
break;
case preg_match('/^\p{Bopomofo}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Bopomofo}");
break;
case preg_match('/^\p{Braille}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Braille}");
break;
case preg_match('/^\p{Buhid}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Buhid}");
break;
case preg_match('/^\p{Canadian_Aboriginal}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Canadian_Aboriginal}");
break;
case preg_match('/^\p{Cherokee}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Cherokee}");
break;
case preg_match('/^\p{Cyrillic}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Cyrillic}");
break;
case preg_match('/^\p{Devanagari}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Devanagari}");
break;
case preg_match('/^\p{Ethiopic}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Ethiopic}");
break;
case preg_match('/^\p{Georgian}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Georgian}");
break;
case preg_match('/^\p{Greek}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Greek}");
break;
case preg_match('/^\p{Gujarati}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Gujarati}");
break;
case preg_match('/^\p{Gurmukhi}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Gurmukhi}");
break;
case preg_match('/^\p{Han}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Han}");
break;
case preg_match('/^\p{Hangul}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hangul}");
break;
case preg_match('/^\p{Hanunoo}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hanunoo}");
break;
case preg_match('/^\p{Hebrew}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hebrew}");
break;
case preg_match('/^\p{Hiragana}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hiragana}");
break;
case preg_match('/^\p{Inherited}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Inherited}");
break;
case preg_match('/^\p{Kannada}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Kannada}");
break;
case preg_match('/^\p{Katakana}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Katakana}");
break;
case preg_match('/^\p{Khmer}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Khmer}");
break;
case preg_match('/^\p{Lao}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Lao}");
break;
case preg_match('/^\p{Latin}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Latin}");
break;
case preg_match('/^\p{Limbu}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Limbu}");
break;
case preg_match('/^\p{Malayalam}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Malayalam}");
break;
case preg_match('/^\p{Mongolian}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Mongolian}");
break;
case preg_match('/^\p{Myanmar}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Myanmar}");
break;
case preg_match('/^\p{Ogham}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Ogham}");
break;
case preg_match('/^\p{Oriya}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Oriya}");
break;
case preg_match('/^\p{Runic}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Runic}");
break;
case preg_match('/^\p{Sinhala}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Sinhala}");
break;
case preg_match('/^\p{Syriac}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Syriac}");
break;
case preg_match('/^\p{Tagalog}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tagalog}");
break;
case preg_match('/^\p{Tagbanwa}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tagbanwa}");
break;
case preg_match('/^\p{Tamil}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tamil}");
break;
case preg_match('/^\p{Telugu}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Telugu}");
break;
case preg_match('/^\p{Thaana}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Thaana}");
break;
case preg_match('/^\p{Thai}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Thai}");
break;
case preg_match('/^\p{Tibetan}+$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tibetan}");
break;
case preg_match('/^\p{Yi} +$/u', $username):
$chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Yi}");
break;
}
return $chars;
}
出力:
Han
Greek
NOT ALLOWED
Ideone Demo
すべての拡張: ' '〜\ pを{ラテン} + \ Z〜u'' \、すべてのハングルから:'' 〜\ \ pを{ハングル} + \ z〜u''など –
1つのスクリプトが多すぎますので、実際には1人1人のスタッフが別々にマッチします。 – framontb
なぜあなたはすべて同じ言語の文字であれば気になりますか?それがあなたに何を伝えますか? – sln