php では、preg_match() 関数を正規表現 "/^[a-zA-Z\s] $/" とともに使用して、文字列に文字のみが含まれているかどうかを検出できます。構文 "preg_match( "/^[a -zA-Z\s] $/",string)"; 戻り値が 1 の場合は文字のみが返され、0 が返された場合は他の文字が含まれます。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php は文字列が文字のみであるかどうかを検出します、つまり、文字列が純粋な英語の文字であるかどうかを判断します。
PHP では、preg_match() 関数を正規表現とともに使用して確認できます。
使用される正規表現: "
/^[a-zA-Z\s] $/
"
preg_match() 関数は、正規表現に基づいて文字列を検索および一致させることができます。関数の構文形式は次のとおりです:
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
パラメータの説明は次のとおりです:
preg_match() 関数は $pattern の一致回数を返すことができます。preg_match() は最初の一致後に検索を停止するため、その値は 0 回 (一致なし) または 1 回になります。
戻り値が 1 の場合は文字のみが含まれ、戻り値が 0 の場合は他の文字が含まれます。
例:
<?php header('content-type:text/html;charset=utf-8'); echo preg_match("/^[a-zA-Z\s]+$/","abcddfkj")."<br>"; echo preg_match("/^[a-zA-Z\s]+$/","ab12kj"); ?>
このような出力ではあまり良くないので、関数をカスタマイズして、存在する場合は true を返す処理をしてみましょう。それ以外の場合は false を返します
function is_english($str) { if(preg_match("/^[a-zA-Z\s]+$/",$str)){ return true; } return false; }
関数を呼び出して、文字列が純粋な英語の文字で構成されているかどうかを判断します
var_dump(is_english('php.cn')); // bool(false) 含有标点符号所以返回 false var_dump(is_english('phpcn')); // bool(true) var_dump(is_english('phpcn123')); // bool(false) 含有123 var_dump(is_english('欢迎来到这里')); // bool(false) 都是中文
推奨される学習: " PHP ビデオ チュートリアル >>
以上がPHPで文字列に文字のみが含まれているかどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。