曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3375|回复: 0
打印 上一主题 下一主题

POSIX 扩展正则表达式函数:ereg() -- 以区分大小写方式搜索文本

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2011-8-25 17:22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ereg() 函数是符合 POSIX 扩展的正则表达式函数之一 (POSIX 扩展系列函数以 ereg_ 为前缀),其原型为:
[PHP] 纯文本查看 复制代码
int ereg ( string $pattern , string $string [, array &$regs ] )

该函数在 string 中以区分大小写的方式搜索 pattern ,如果找到则返回 TRUE,否则返回 FALSE 。

示例代码:
[PHP] 纯文本查看 复制代码
<?php

        $ourdomain = "Groad";

        if (ereg("([^a-z])", $ourdomain))
                echo "domain name must be all lowercase!";
        else
                echo "domain name is all lowercase!";
?>

运行输出:
domain name must be all lowercase!
上面例子中确定域名是否只包含小写字符。([^a-z]) 表示不匹配小写字母,所以一旦 ereg() 找到字符串种有大写字母,则返回 TRUE,因此会输出错误消息。

ereg() 还有一个可选参数 regs ,它包含一个数组,其中包括使用正则表达式中小括号分组的所有匹配表达式。如利用此数组,可以将 URL 分成几个部分,然后将这几个部分的匹配存储到 regs 数组中来,如下示例:
[PHP] 纯文本查看 复制代码
<?php
        $url = "http://www.groad.net";


        $parts = ereg("^([url]http://www[/url])\.([[:alnum:]]+)\.([[:alnum:]]+)", $url, $regs);

        echo $regs[0];
        echo "<br />";
        echo $regs[1];
        echo "<br />";
        echo $regs[2];
        echo "<br />";
        echo $regs[3];
?>

运行输出:
http://www.groad.net
http://www
groad
net

注意:在 PHP 5.3.0 中该函数已经不建议使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-6 19:16 , Processed in 0.069025 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表