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 — Make regular expression for case insensitive match
Opis
$string
)Creates a regular expression for a case insensitive match.
Ta funkcja jest PRZESTARZAŁA od PHP 5.3.0. Używanie tej funkcji nie jest zalecane.
Parametry
-
string -
The input string.
Zwracane wartości
Returns a valid regular expression which will match
string, ignoring case. This expression is
string with each alphabetic character converted to
a bracket expression; this bracket expression contains that character's
uppercase and lowercase form. Other characters remain unchanged.
Przykłady
Przykład #1 sql_regcase() example
<?php
echo sql_regcase("Foo - bar.");
?>
Powyższy przykład wyświetli:
[Ff][Oo][Oo] - [Bb][Aa][Rr].
This can be used to achieve case insensitive pattern matching in products which support only case sensitive regular expressions.
Notatki
Informacja:
Od PHP 5.3.0 rozszerzenie regex jest przestarzałe. Zamiast niego należy używać rozszerzenia PCRE. Wywołanie tych funkcji spowoduje wygenerowanie ostrzeżenia
E_DEPRECATED. Zobacz listę różnic aby uzyskać pomoc w migracji do 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;
}
?>
