PHPプログラムに関する各種メモ書き

PHPでスペース区切りの文字列で検索文字をANDマッチする

いわゆるGoogleなどの検索エンジンのようにスペース区切りをANDマッチする方法

function list_and_match($data, $search_str_space_separated){
	$search_str_space_separated = mb_convert_kana($search_str_space_separated, "s");
	$search_list = array();
	$search_list = preg_split("/\s/",$search_str_space_separated);
	$flag = 1;
	foreach ($search_list as $v) {
		if ( ! preg_match("/{$v}/iu",$data) ){
			$flag = false;
			break;
		}
	}
	return $flag;
}
$text = "長い長い日本語のテストを行います。";
$search_text = "長い テスト";
if ( list_and_match($text, $search_text) ){
 echo 'マッチしました';
}

関連エントリー

No.983
12/08 20:14

edit

日本語