これが、Doe、JではなくDoeJとして入力された名前を検索エンジンに取得させようとしていることです。
これが私のコードです:
$sql_where = array();
if (isset($_GET['name'])) {
echo "Searched: {$_GET['name']}<br>";
$names = explode(' ', trim(preg_replace('/ +/', ' ', $_GET['name'])));
$names_cnt = count($names);
if (2 == $names_cnt) {
foreach ($names as $name_idx => $name) {
if (($name_idx+1) == $names_cnt) {
// last one
$sql_where[] = "
(full_name like '% {$name}%')
";
} else {
// first one
$sql_where[] = "
(full_name like '{$name}%')
";
}
}
} else {
$sql_where[] = "
(full_name like '" . $DB->cleanString($_GET['name']) . "%')
";
私は試しまし/[^a-zA-Z0-9 ]/
たが、失敗した他のいくつかのバリエーションがあります。