sql_regcase

(PHP 4, PHP 5)

sql_regcase大文字小文字を区別しないマッチングのための正規表現を作成する

警告

この関数は PHP 5.3.0 で 非推奨 となり、 PHP 7.0.0 で 削除 されました。

この関数の代替として、これらが使えます。

説明

sql_regcase ( string $string ) : string

大文字小文字を区別しないマッチングのための正規表現を作成します。

パラメータ

string

入力文字列。

返り値

大文字小文字を区別せず stringにマッチする、 有効な正規表現式を返します。この表現式は、string の中の個々のアルファベットを '[]' 表現に変換したものです。 この '[]' 表現は、大文字と小文字がそれぞれ含まれます。 アルファベット以外の文字の場合は、元々の文字がそのまま残ります。

例1 sql_regcase() の例

<?php
echo sql_regcase("Foo - bar.");
?>

上の例の出力は以下となります。

[Ff][Oo][Oo] - [Bb][Aa][Rr].

この関数は、大文字小文字を区別する正規表現しかサポートしない製品において、 大文字小文字を区別しないパターンマッチングを行いたい場合に役立ちます。

add a note add a note

User Contributed Notes 3 notes

up
0
fernandovaller at gmail dot com
4 years ago
function php7_regcase($str)
{

    if (empty($str))
        return '';

    $chars = str_split($str);

    foreach ($chars as $char) {
        if (preg_match("/[A-Za-z]/", $char)) {
            $str_upper = mb_strtoupper($char, 'UTF-8');
            $str_lower = mb_strtolower($char, 'UTF-8');
            $resp[] = "[{$str_upper}{$str_lower}]";
        } else {
            $resp[] = $char;
        }
    }

    return implode('', $resp);
}
up
0
edge at gts dot smtn dot stavropol dot ru
21 years ago
if you set right locale:

setlocale(LC_CTYPE,"ru_RU.KOI8-R");

print sql_regcase("Цffnung");

will output:
"[Цц][Ff][Ff][Nn][Uu][Nn][Gg]"
up
-2
phpcomment at revmaps dot no-ip dot biz
10 years ago
This function naivley replaces the letters in your expression.
if your expression uses [] already using this will probably break it
To Top