アフィリエイト広告を利用しています

2017年10月04日

preg_matchの正規表現B

preg_matchで文字列の出現位置も取得できる。

検索した文字列と取得結果を配列にセットできる。


<?php
if (preg_match("/PHP/", "今PHPを使っています。",$data,PREG_OFFSET_CAPTURE)) {
echo "OK 文中で使用されています。";
} else {
echo "NG 文中で使用されていません。";
}
print_r($data);
?>


正直なところ、配列に入るからおおいに役に立つとは言えないと思う。

記事にするのは見合せようかと思いましたが、

プログラムファイルの文字コードによって結果が異なることに気付いたので、

そのことも付記します。

Shitt_jis、EUC-JPでは

 OK 文中で使用されています。Array ( [0] => Array ( [0] => PHP [1] => 2 ) )


UTF-8では

 OK 文中で使用されています。Array ( [0] => Array ( [0] => PHP [1] => 3 ) )


preg_matchを使用するときは文字コードへの注意を忘れないようにしましょう。




posted by db-engineer at 00:00 | Comment(0) | PHP

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド