我将 PDO 与 SQLite 一起使用,并希望为 unicode 字符串实现不区分大小写的匹配。
我发现了这个:
function lexa_ci_utf8_like($mask, $value) {
$mask = str_replace(
array("%", "_"),
array(".*?", "."),
preg_quote($mask, "/")
);
$mask = "/^$mask$/ui";
return preg_match($mask, $value);
}
$pdo->sqliteCreateFunction('like', "lexa_ci_utf8_like", 2);
我需要将它与不受信任的文本一起使用,所以我使用参数化查询。
问题是不受信任的文本可以包含通配符%
or _
,我不希望它们表现为通配符