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 — Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung
Beschreibung
$string
)Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß- und Kleinschreibung.
Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.
Parameter-Liste
-
string -
Die umzuwandelnde Zeichenkette
Rückgabewerte
Gibt einen korrekten regulären Ausdruck zurück, der auf
string ohne Berücksichtigung von
Groß- und Kleinschreibung passt. Dieser Ausdruck entspricht
string, wobei jeder Buchstabe in einen
Klammerausdruck umgewandelt wird. Die Klammer enthält diesen Buchstaben in
groß- und kleingeschriebener Form. Andere Zeichen bleiben unverändert.
Beispiele
Beispiel #1 sql_regcase()-Beispiel
<?php
echo sql_regcase("Foo - bar");
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
[Ff][Oo][Oo] - [Bb][Aa][Rr].
Dies kann bei Produkten, die nur reguläre Ausdrücke mit Berücksichtigung von Groß- und Kleinschreibung unterstützen, verwendet werden, um eine Übereinstimmung mit Suchmustern ohne Berücksichtigung von Groß- und Kleinschreibung zu erreichen.
Anmerkungen
Hinweis:
Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine
E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.
<?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;
}
?>
