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