(PHP 4, PHP 5)
ereg – 正则表达式匹配
说明
ereg
( string $pattern
, string $string
[, array &$regs
] ) : int
Note:
使用 Perl 兼容正则表达式语法的 [preg_match()](php7/function.preg-match)
函数通常是比 ereg() 更快的替代方案。
以区分大小写的方式在 string
中寻找与给定的正则表达式 pattern 所匹配的子串。
如果找到与 pattern
中圆括号内的子模式相匹配的子串并且函数调用给出了第三个参数
regs,则匹配项将被存入
regs 数组中。$regs[1]
包含第一个左圆括号开始的子串,$regs[2]
包含第二个子串,以此类推。$regs[0] 包含整个匹配的字符串。
Note:
直到 PHP 4.1.0 为止,$regs
将被填充为正好十个单元,即使实际匹配的子串少于十个。这并不影响
ereg() 匹配更多子串的能力。如果没有找到匹配,则
$regs 不会被 ereg() 更改。
如果在 string
中找到 pattern 模式的匹配则返回
所匹配字符串的长度,如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数
regs 或者所匹配的字符串长度为 0,则本函数返回 1。
以下代码片断接受 ISO 格式的日期(YYYY-MM-DD)然后以
DD.MM.YYYY 格式显示:
Example #1 ereg() 例子
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
}
?>
参见 [eregi()](php7/function.eregi),[ereg_replace()](php7/function.ereg-replace),[eregi_replace()](php7/function.eregi-replace),[preg_match()](php7/function.preg-match),[strpos()](php7/function.strpos)
和 [strstr()](php7/function.strstr)。