if you set right locale:
setlocale(LC_CTYPE,"ru_RU.KOI8-R");
print sql_regcase("Цffnung");
will output:
"[Цц][Ff][Ff][Nn][Uu][Nn][Gg]"
sql_regcase
(PHP 4, PHP 5)
sql_regcase — Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas
Descripción
$string
)Crea una expresión regular para la comparación insensible a mayúscuas-minúsculas.
Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
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.
Notas
Nota:
Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso
E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.
<?php
function mb_sql_regcase($string,$encoding=\\\'auto\\\'){
$max=mb_strlen($item,$encoding);
for ($i = 0; $i < $max; $i++) {
$char=mb_substr($item,$i,1,$encoding);
$up=mb_strtoupper ($char,$encoding);
$low=mb_strtolower($char,$encoding);
$ret.=($up!=$low)?\\\'[\\\'.$up.$low.\\\']\\\' : $char;
}
return $ret;
}
?>
