2  函数eregi()的用法示例

<?
  1  函数ereg的选用示例。
  2  函数eregi()的用法示例。
  3  替换匹配的字符串。
  4  用eregi_repalce()替换相称字符串。
  5  使用函数split()。
  6  函数split()的使用。
  7  函数sql_regcase()生成正则表明式。
  8  正则表达式函数preg_grep()的用法示例。
  9  用函数preg_match()举行正则表达式相配。
  10 相称函数preg_match_all()的应用。
  11 表明式找寻和替换的函数preg_repalce()。
  12 通过正则表明式相配的串分割字符串。
  13 检查ip地址的正则表明式示例1。
  14 检查ip地址的正则表明式示例2。
  15 相称粤语字符串。
  16 email正则表达式。
  17 url正则表明式。

*/

 // 1、函数ereg的选拔示例。  

 代码如下

$arr_date = array(
'2004-06-01',
'2005-0x-10',
'12-12-12',
'2000-12-25 00:10:20',
'2007-12-05'
);

for ($i=0; $i<5; $i)
{
 $date = $arr_date[$i];
 if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs))
 {
     echo "日期字符串$date 切合'yyyy-mm-dd'格式:";
     echo "$regs[1].$regs[2].$regs[3]<br/><br/>";
 }
 else
 {
     echo "<b>日期字符串$date 不相符'yyyy-mm-dd'格式的日期字符串</b><br/><br/>";
 }
}

 

 

 // 2、函数eregi()的用法示例。  

 

 代码如下

$arr_str = array(
'python',
'php',
'perl',
'ruby'
);

for($i=0; $i<4; $i)
{
    $str = $arr_str[$i];
    if(eregi('p|h', $str))
    {
        echo "'$str' 含有p、p、h或h<br/><br/>";
    }
    else
    {
        echo "<b>'$str' 不含 p、p、h或h</b><br/><br/>";
    }
   
    if(ereg('p',$str))
    {
        echo "在ereg()中 '$str' 匹配'p'<br/><br/>";
    }
    else
    {
        echo "<b>在ereg()中 '$str' 不匹配'p'</b><br/><br/>";
    }
}  

// 3、替换相称的字符串。

 代码如下

 $str = "1fish2fish3fish4fish5fish";
echo "<b>替换前字符串为:</b><br/>";
echo $str;
echo "<br/>";
echo "<br/>";

$str_rpc = ereg_replace("[0-9]", " ", $str);
echo "<b>替换后字符串为:</b><br/>";
echo $str_rpc;

 

 

 // 4、用eregi_repalce()替换相配字符串。

 

 代码如下

 $str = "you have a car, i have a car, we have cars!";
echo "<b>替换前字符串为:</b><br/>";
echo $str;
echo "<br/>";
echo "<br/>";

$pattern = "car";
$replacement = "apple";
$str_rpc = eregi_replace($pattern, $replacement, $str);
echo "<b>替换后字符串为:</b><br/>";
echo $str_rpc;  

// 5、使用函数split()。  

 代码如下

$str = "aaa~bbb~ccc~ddd";
echo "字符串截取前:$str";
echo "<br/>";
echo "<br/>";

$sep_arr = split("~",$str);
echo "<b>字符串截取后:</b><br/>";
echo "<pre>";
print_r($sep_arr);  

 

 

// 6、函数split()的使用。

 

 代码如下

 $str = "aaaaaaa~bbbbc~dccce~fdddzzz";
echo "<b>字符串截取前:</b><br/>$str";
echo "<br/>";
echo "<br/>";

$sep_arr = split("[a-z]{3}",$str);
echo "<b>使用aaa,bbb,ccc,ddd做分割字符串后:</b>";
echo "<pre>";

print_r($sep_arr);  

// 7、函数sql_regcase()生成正则表明式。  

 代码如下

$str = "k#v3050";
echo "<b>原字符串:</b><br/>$str";
echo "<br/>";
echo "<br/>";

$reg_str = sql_regcase ($str);
echo "<b>使用函数sql_regcase()生成的正则表明式为:</b>";
echo "<br/>";
echo $reg_str;  

 

 

// 8、正则表明式函数preg_grep()的用法示例。

 

 代码如下

 $test_preg = array(
"ak47",
"163.com",
"happy new year!",
"ex0000",
"007 in usa",
"abc123",
"test-abc-315",
"123654789",
"euapa00!"
);

echo "<b>原数组:</b>";
echo "<pre>";
print_r($test_preg);
echo "</pre>";

$preg_arr = preg_grep("/^[a-z].*[0-9]$/",$test_preg);
echo "<br>";
echo "<b>将原数组中以自由大写字母起始的、中间大几个字符、最终以数字结尾的字符串搜索:</b>";
echo "<pre>";
print_r($preg_arr);
echo "</pre>";  

// 9、用函数preg_match()实行正则表达式相称。  

 代码如下

$str_arr = array(
"php 是天时地利的web脚本语言",
"perl的文本管理功用很强大"
);

foreach($str_arr as $str)
{
    //形式定界符后边的核查符"i" 表示卓越时不区分轻重缓急写字母
    if(preg_match("/php/i", $str))
    {
        echo "在字符串' $str '中找到对'php'的相称";
        echo "<br/>";
        echo "<br/>";
    }
    else
    {
        echo "在字符串' $str '中<b>未</b>找到对'php'的相配";
        echo "<br/>";
        echo "<br/>";
    }
}  

 

 

// 10、相配函数preg_match_all()的应用。  

 

 代码如下

$html = "<b>粗体字符</b><a href=howdy.html>可点击的连日</a>";

preg_match_all ("/(<([w] )[^>]*>)(.*)(</2>)/", $html, $matches);

for ($i=0; $i< count($matches[0]); $i )
{
    echo "匹配:".$matches[0][$i]." ";;
    echo "第一片段:".$matches[1][$i]." ";
    echo "第二盘部:".$matches[3][$i]." ";
    echo "第2盘部:".$matches[4][$i]." ";
}  

// 11、表明式搜索和替换的函数preg_repalce()。

 代码如下

 $string = "the quick brown fox jumped over the lazy dog.";
echo "原字符串:<br/>";
echo $string;
echo "<br/><br/>";

$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";

$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";

$str1 = preg_replace($patterns, $replacements, $string);
echo "使用函数ksort()在此之前字符串替换为:<br/>";
echo $str1;
echo "<br/><br/>";

ksort($patterns);
ksort($replacements);

$str2 = preg_replace($patterns, $replacements, $string);
echo "使用函数ksort()从前字符串替换为:<br/>";
echo $str2;
echo "<br/><br/>";  

 

 

// 12、通过正则表明式匹配的串分割字符串。

 

 代码如下

 $str = 'php language programming in web';
echo "<b>原字符串:</b><br>";
echo $str;
echo "<br/><br/>";

$chars = preg_split('/ /', $str, -1, preg_split_offset_capture);
echo "<b>调用函数preg_split()后:</b>";
echo "<pre>";
print_r($chars);  

// 13、检查ip地址的正则表明式示例1。

 代码如下

 $arr_ip = array(
"127.0.0.1",
"218.206.10.123",
"192.221.515.0",
"123.0.0.0.1",
"-12.255.0.10",
"10.9c.132.69",
"255.10.10.255"
);

foreach ($arr_ip as $ip)
{
    if(validateip($ip))
    {
        echo "<b>$ip 是无可争辩的ip地址</b>";
        echo "<br/><br/>";
    }
    else
    {
        echo "$ip 不是不利的ip地址";
        echo "<br/><br/>";
    }
}

function validateip($ip)
{
    $iparray = explode(".",$ip);
    for($i=0;$i<count($iparray);$i )
    {
        if($iparray[$i]>255)
            return (0);
    }
    return ereg("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}",$ip);
}  

 

 

// 14、检查ip地址的正则表明式示例2。  

 

 代码如下

$arr_ip = array(
"127.0.0.1",
"218.206.10.123",
"192.221.515.0",
"123.0.0.0.1",
"-12.255.0.10",
"10.9c.132.69",
"255.10.10.255"
);

foreach ($arr_ip as $ip)
{
    if(validateip($ip))
    {
        echo "<b>$ip 是没有错的ip地址</b>";
        echo "<br/><br/>";
    }
    else
    {
        echo "$ip 不是情有可原的ip地址";
        echo "<br/><br/>";
    }
}

function validateip($ip)
{
    $iparray = explode(".",$ip);
    for($i=0;$i<count($iparray);$i )
    {
        if($iparray[$i]>255)
            return (0);
    }
    return ereg("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$",$ip);
}  

// 15、相称中文字符串。  

 代码如下

$str_arr = array(
"iameverysorry",
"欢快编制程序,欢腾生活",
"php编程",
"一九九八年香港(Hong Kong)回归",
"英语学习abc",
"123456789"
);

$patt_ch = chr(0xa1) . "-" . chr(0xff);

foreach ($str_arr as $str)
{
    echo "字符串'$str' 是";
    if (preg_match("/^[$patt_ch] $/", $str))
    {
        echo "<b>完全普通话</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "非完全普通话";
        echo "<br>";
        echo "<br>";
    }
}  

 

 

// 16、email正则表明式。  

 

 代码如下

$str_arr = array(
"mymail@somesite.com",
"my_mail@somesite.com",
"my-mail@somesite.com",
"my.mail@site.com.cn",
"mymail@site.com.ccoomm",
"mymail@site.cn",
"mymail@@@lsite.com",
"mymail@site",
"mymail@somesite.com",
"my2007@somesite.com",
"163mail_for-me777@somesite.com",
);

$patt_email = "/^[_a-za-z0-9-] @([0-9a-z][0-9a-z-] .) [a-z]{2,4}$/";

foreach ($str_arr as $str)
{
    echo "字符串'$str':是";
    if (preg_match($patt_email, $str))
    {
        echo "<b>合法的email格式</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "不合规的email格式";
        echo "<br>";
        echo "<br>";
    }
}
 // 17、url正则表明式。
 $str_arr = array(
"",
"mb.111cn.net",
"",
"http//down.111cn.net",
":www.myoosite.com"
);

$patt_url = "/^(";

foreach ($str_arr as $str)
{
    echo "字符串'$str':是";
    if (preg_match($patt_url, $str))
    {
        echo "<b>合法的url格式</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "不合规的url格式";
        echo "<br>";
        echo "<br>";
    }
}

?>

本文由金沙澳门官网-www.js333com-金沙js333com发布于金沙澳门官网计算机,转载请注明出处:  2  函数eregi()的用法示例

您可能还会对下面的文章感兴趣: