ホームページ  >  記事  >  バックエンド開発  >  PHPで英語の文字だけを保持する方法

PHPで英語の文字だけを保持する方法

青灯夜游
青灯夜游オリジナル
2022-04-28 19:52:572931ブラウズ

PHP では、preg_match_all() を正規表現とともに使用して、英語の文字のみを保持して文字列をフィルタリングできます。構文は "preg_match_all("/[a-zA-Z]/u","$str") です。 , $arr)" の場合、文字は配列に保存され、join() を使用して配列を文字列に変換できます。

PHPで英語の文字だけを保持する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php のみ英語を保持します

文字を preg_match_all() 関数で正規表現と組み合わせて使用​​すると、文字列をフィルタリングし、英語の文字のみを保持できます

preg_match_all() 関数配列に格納されている文字(予約英字)と1文字ずつ一致します(配列は第3引数で指定します)。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "php.cn23v457zblog,?#$%^&())*(&^";
preg_match_all("/[a-zA-Z]/u","$str",$arr);
var_dump($arr);
?>

PHPで英語の文字だけを保持する方法

結果が 2 次元配列であることがわかります。

join() 関数を使用して結果の値を文字列に結合する場合は、次のステートメントを使用する必要があります。

join(&#39;&#39;,$arr[0])

PHPで英語の文字だけを保持する方法

#手順: preg_match_all()--グローバル正規表現一致の実行

preg_match_all() 関数は、正規表現に一致する文字列内のすべての結果を検索できます。構文形式は次のとおりです:

preg_match_all($pattern, $subject [, &$matches [, $flags = PREG_PATTERN_ORDER [, $offset = 0 ]]])

パラメータの説明は次のとおりです:

  • $pattern: 定義された正規表現である検索対象のパターン;
  • $subject: 検索する文字列;
  • $matches: オプションのパラメータ (多次元配列)、すべての一致結果を保存するために使用されます。配列の並べ替えは $flags;
  • によって指定されます。 $flags: オプションのパラメータ。次のフラグと組み合わせて使用​​できます (PREG_PATTERN_ORDER と PREG_SET_ORDER は同時に使用できないことに注意してください):
    • PREG_PATTERN_ORDER: $matches[0] には完全なパターンのすべての一致が保持され、$matches[1] には最初のサブグループのすべての一致が保持されるように、結果は順序付けされます。
    • PREG_SET_ORDER: $matches[0] には最初の一致で得られたすべての一致 (サブグループを含む) が含まれ、$matches[1] には 2 番目の一致で得られたすべての一致 (サブグループを含む) が含まれる配列として並べ替えられます。
    • PREG_OFFSET_CAPTURE: このフラグが渡されると、見つかった各一致が、ターゲット文字列に対する相対的なオフセットを増加して返されます。これにより、$matches 内の各一致文字列要素が、0 番目の要素が一致文字列で、最初の要素がサブジェクト内の一致文字列のオフセットになるように変更されることに注意してください。
  • $offset: オプションのパラメータ。$offset は、ターゲット文字列内の指定された位置から検索を開始するために使用されます (単位はバイト)。

preg_match_all() 関数は、$pattern の一致数 (おそらく 0) を返すか、エラーが発生した場合は FALSE を返します。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで英語の文字だけを保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。