正規表現を使わない文字列検索

PHPでよく使う文字列の検索方法、前方一致、後方一致

PHP

// 対象に検索文字列が含まれている場合はTRUE // 'foo'が検索する文字列 if (mb_strpos($str, 'foo') !== FALSE) { echo "一致"; } else { echo "不一致"; } // 対象に検索文字列が含まれている場合はTRUE(大文字小文字区別せず) if (mb_stripos($str, 'foo') !== FALSE) { echo "一致"; } else { echo "不一致"; } // 前方一致 if (mb_strpos($str, 'foo') === 0) { echo "一致"; } else { echo "不一致"; } // 後方一致 if (mb_strrchr($str, 'foo') == mb_strlen($str) - mb_strlen('foo')) { echo "一致"; } else { echo "不一致"; } // 対象(配列)に検索文字列が含まれている場合はTRUE if (array_search('foo', $arr) !== FALSE){ echo "含む"; } else { echo "含まない"; } // 英字の場合、TRUE if (ctype_alpha($str)) { echo "英字"; } // 数字の場合、TRUE // ctype_digit(1); FALSE // ctype_digit('1'); TRUE if (ctype_digit($str)) { echo "数字"; } // is_numeric(1); TRUE // is_numeric('1'); TRUE if (is_numeric($str)) { echo "数字"; } // is_int(1); TRUE // is_int('1'); FALSE if (is_int($str)) { echo "数字"; } // 英数字の場合、TRUE if (ctype_alnum($str)) { echo "英数字"; } // 空白文字の場合、TRUE if (ctype_space($str)) { echo "空白"; } // メールアドレスの場合、TRUE if (filter_var($str, FILTER_VALIDATE_EMAIL)){ echo "メールアドレス"; }

大文字小文字を区別しないのであれば、対象に合わせて、小文字化 mb_strtolower($str) するか、大文字化 mb_strtoupper($str) して比較する。

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。
主にLAPP環境でPHPを書いています。
最近はjQueryをよく書いています。