2020/07/21 23:57
PHPで文字列検索「strpos, strstr, preg_match」
けっこう使う「PHPでの文字列検索する方法」として、主にstrpos, strstr, preg_matchを使うかと思います。
備忘録を兼ねてサンプルを書いておきますので参考になれば幸いです。
strpos
strposは対象となる文字列内に検索した文字が何文字目にあるのかを調べる事ができます。
検索した文字列が見つからなければFALSEとなります。
strpos(検索対象となる文字列, 実際に検索する文字列)
下記例は「@」マークが何文字目にあるかを戻り値として返します。
strpos('hoge@hoge.com', '@');
つまり戻り値は「4」となります。
(0から数える為)
strstr
strstrは検索した文字列の後ろにある文字列を取り出します。
検索した文字列が見つからなければFALSEとなります。
strstr(検索対象となる文字列, 実際に検索する文字列)
下記例は「@」の後ろの文字列を戻り値として返します。
strstr('hoge@hoge.com', '@');
つまり戻り値は「hoge.com」となります。
逆に「@」より前を取り出す場合は第3引数を「TRUE」とします。
strstr('hoge@hoge.com', '@', TRUE);
これによって「hoge」が返り値となります。
preg_match()
正規表現による検索。
検索対象の文字列から正規表現にあてはまる文字列があるかをチェック。
戻り値はマッチした文字列がある場合「1」、ない場合「0」となります。
preg_match( 正規表現 , 検索対象の文字列 [,マッチした文字列の配列])
if ( preg_match('/[^@]+$/', 'hoge@hoge.com', $matche_text) ) {
print $matche_text[0];
}
実行結果は「hoge.com」となります。
現場から以上です!
874