POSIX Regex 函数
在线手册:中文 英文
PHP手册

sql_regcase

(PHP 4, PHP 5)

sql_regcase产生用于不区分大小的匹配的正则表达式

说明

string sql_regcase ( string $string )

返回与 string 相匹配的正则表达式,不论大小写字母。返回的表达式是将 string 中的每个字母字符转换为方括号表达式,该方括号表达式包含了该字母的大小写形式。其它字符保留不变。

Example #1 sql_regcase() 例子

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

以上例程会输出:

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

可以用于在仅支持区分大小写正则表达式的产品中完成不区分大小写的模式匹配。

Warning

自 PHP 5.3.0 起,已经废弃此函数。强烈建议不要应用此函数 。

参数

string

The input string.

返回值

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.

范例

Example #2 sql_regcase() example

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

以上例程会输出:

[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.

注释

Note:

在 PHP 5.3.0 中, 已放弃使用 regex 扩展而建议使用PCRE扩展。 调用此函数将会发出 E_DEPRECATED 通知。 参见“差异列表” 可帮助你转为使用 PCRE。


POSIX Regex 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 产生用于不区分大小的匹配的正则表达式

用户评论:

irker at irker dot net (28-Sep-2008 10:14)

&lt;?php
function mb_sql_regcase($string,$encoding=\\\'auto\\\'){
  $max=mb_strlen($item,$encoding);
  for ($i = 0; $i &lt; $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;
}
?&gt;

edge at gts dot smtn dot stavropol dot ru (25-Jun-2003 02:56)

if you set right locale:

setlocale(LC_CTYPE,"ru_RU.KOI8-R");

print sql_regcase("Цffnung");

will output:
"[Цц][Ff][Ff][Nn][Uu][Nn][Gg]"