PHPKonf 2020 Online

sql_regcase

(PHP 4, PHP 5)

sql_regcaseProduce una expresión regular para la comparación insensible a mayúscuas-minúsculas

Advertencia

Esta función está OBSOLETA en PHP 5.3.0, por lo tanto, será ELIMINADA en PHP 7.0.0.

Las alternativas a esta función son:

Descripción

sql_regcase ( string $string ) : string

Crea una expresión regular para la comparación insensible a mayúscuas-minúsculas.

Parámetros

string

La cadena de entrada.

Valores devueltos

Devuelve una expresión regular válida que coincidirá con string, ignorando las mayúsculas y minúsculas. Esta expresión es string con cada carácter alfabético convertido en una expresión entre corchetes; esta expresión contiene tanto la forma mayúscula como minúscula del carácter. Los demás caracteres permanecen inalterados.

Ejemplos

Ejemplo #1 Ejemplo de sql_regcase()

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

El resultado del ejemplo sería:

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

Esto se puede usar para llevar a cabo una comparación de un patrón insensible a mayúsculas-minúsculas en productos que soporten sólo expresiones regulares sensibles a mayúsculas-minúsculas.

add a note add a note

User Contributed Notes 3 notes

up
0
fernandovaller at gmail dot com
7 months 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
17 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
6 years ago
This function naivley replaces the letters in your expression.
if your expression uses [] already using this will probably break it
To Top