以下に、文字列内の指定されたタグに一致する PHP 正規表現を実装するプログラム コードを示します。学習が必要な方は、このチュートリアルを参照してください。
PHP アプリケーションでは、正規表現は主に次の目的で使用されます。
•正規一致: 正規表現に基づいて対応するコンテンツを一致させます
•正規置換: 正規表現に基づいてコンテンツを照合し、置換します
•正規分割: 正規表現に基づいて文字列を分割します
よく使われる
preg_match_all()
preg_match_all() 関数は、正規表現のグローバル マッチングに使用され、パターン全体が正常に一致した回数 (おそらくゼロ) を返し、エラーが発生した場合は FALSE を返します。
文法:
int preg_match_all( 文字列パターン, 文字列件名, 配列一致 [, int フラグ ] )
例
$str = "二ブロード甘家口東 #tag1 #tag2 #tag3. #tag4、すべて $1234 を送信しました ¥xc,cvm , ¥12,dflksjfHow #tag5.x
コードは次のとおりです | コードをコピー |
#tag6.cvxcv""; preg_match_all('/#([a-zA-Z0-9x7f-xff]+)/', $str, $mat); print_r($mat); preg_match("/[x{00a5}x{ffe5}](d+)/u", $str, $mat); print_r($mat); |
中国語の文字の通常のマッチングは、ページのエンコーディングによって若干異なります:
•GBK/GB2312 エンコード: [x80-xff>]+ または [xa1-xff]+
•UTF-8 エンコード: [x{4e00}-x{9fa5}]+/u
例:
コードは次のとおりです | コードをコピー |
$str = "PHP を学ぶのは楽しいことです。"; |
追加手順:
全角文字エンコード範囲
1.GBK(GB2312/GB18030)
x00-xff GBK 2 バイトエンコード範囲
x20-x7f アスキー
xa1-xff 中国語 gb2312
x80-xff 中国の GBK
2. UTF-8 (ユニコード)
u4e00-u9fa5 (中国語)
x3130-x318F (韓国語
)
xAC00-xD7A3 (韓国語)
u0800-u4e00 (日本語)