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 — Genera una espressione regolare per riconoscimenti senza distinguere tra maiuscole e minuscole
Descrizione
$stringa
)
La funzione restituisce una espressione regolare che
sia in grado di riconoscere il parametro
stringa, a prescindere dalle lettere maiuscole
minuscole. L'espressione regolare restituita corrisponde
a stringa con ciascun carattere alfabetico riportato
tra parentesi. Ogni parentesi contiene il singolo carattere
in maiuscolo ed in minuscolo. I rimanenti caratteri sono riportati
immutati.
Example #1 sql_regcase() esempio
<?php
echo sql_regcase("Foo bar");
?>
Il precedente esempio visualizzerà:
[Ff][Oo][Oo] - [Bb][Aa][Rr].
Questa funzione torna utile quando si devono ottenere espressioni regolari non distinguono tra lettere maiuscole e minuscole da passare a prodotti che supportano espressioni regolari che distinguono il tipo di lettera.
<?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;
}
?>
