此函数不起作用 - 它对非拉丁字符不区分大小写。
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
mb_eregi — 支持多字节的忽略大小写的正则表达式匹配
pattern
正则表达式模式。
string
要搜索的 string。
matches
如果在 pattern
的圆括号子字符串中找到匹配项,并且该函数使用第三个参数 matches
调用,则匹配项将存储在数组 matches
的元素中。如果没有找到匹配项,则 matches
将设置为一个空数组。
$matches[1] 将包含从第一个左括号开始的子字符串;$matches[2] 将包含从第二个左括号开始的子字符串,以此类推。 $matches[0] 将包含匹配的完整字符串的副本。
返回 pattern
是否匹配 string
。
版本 | 说明 |
---|---|
8.0.0 | 此函数现在成功时返回 true 。以前,如果在 string 中找到 pattern 的匹配项,并且传递了 matches ,则它返回匹配字符串的字节长度。如果可选参数 matches 未传递或匹配字符串的长度为 0 ,则此函数返回 1 。 |
7.1.0 |
mb_eregi() 现在将 matches 设置为空 array,如果没有任何匹配项。以前,在这种情况下 matches 不会被修改。 |
注意:
内部编码或由 mb_regex_encoding() 指定的字符编码将用作此函数的字符编码。
我模拟了它
<?php
$text = 'Äpfel';
mb_internal_encoding( 'utf-8' );
printf( "%d\n", mb_eregi( 'äpfel', $text ) ); // 输出: 0
printf( "%d\n", mb_ereg( 'äpfel', mb_strtolower( $text ) ) ); // 输出: 1
printf( "%d\n", mb_eregi( 'äpfel', mb_strtolower( $text ) ) ); // 输出: 1
?>