1

SQLite で PDO を使用しており、大文字と小文字を区別しないユニコード文字列のマッチングを実装したいと考えています。

私はこれを見つけまし

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);

信頼できないテキストで使用する必要があるため、パラメーター化されたクエリを使用します。

問題は、信頼できないテキストに%または_のようなワイルドカードを含めることができることです。ワイルドカードとして動作させたくありません。

4

2 に答える 2