P_BLOGのカテゴリー検索(category.php)は部分一致検索気味で、例えば"昔の日記"というカテゴリーと"日記"というカテゴリーがあったとするなら、日記のカテゴリーを選択したときに前者まで含まれてしまうのですよね(やっぱりうまくいかないカテゴリー検索)。そういうわけで、後方一致がおきないようにカテゴリー(TAG)をつけるようにしていたのですが、うっかり後方が重複するカテゴリーができてました。"本"と"熊本"です。地名は盲点だった :-!
しょうがないのでもう一度 category.php いじりにチャレンジしてみました。
//=====================================
// CATEGORY LIST UP QUERY -- HOW?
//=====================================
$patterns = '/(*|+|^|$|?|(|))/';
if (preg_match($patterns, $key)) {
// (1) Use "LIKE" search
$listup_query = "BINARY category LIKE '%".$key."%')";
} else {
// (2) Use MySQL Regular Expression
$listup_query = "category REGEXP BINARY '^".$key."$|^".$key.",|,".$key.",|,".$key."$|,?".$key.",|,?".$key."$')";
}
Continue reading...