字符串函数和正则表达式分别用于匹配查找

来源:互联网 发布:mac如何改管理员名字 编辑:程序博客网 时间:2024/05/02 03:11
<?php
    error_reporting(@notice);
    /*分隔    匹配     查找     替换
     字符串处理函数:(功能简单,执行效率高)
        strstr()       strpos()              substr()
        
        
      正则表达式处理函数:(功能强大但执行效率低)
      preg_match()     preg_match_all()      preg_grep()
    */

    //1.用字符串处理函数返回所处理url中的文件名(查找匹配)
    
    function getname($url){
        //从字符串末尾处开始查找/出现的位置并返回此位置
        $loc=strrpos($url,'/');
        //从后一位开始截取子字符串
        $filename=substr($url,$loc+1);
        echo $filename."<br>";
    }
    getname("http://www.baidu.com/inc.gif");
    getname("http://www.baidu.com/abc/abc.class.php");
    
    //2.用正则查找匹配表单中所输入的url
    $form='<form action="test.php" method="post">';
    $form.="<input type='text' name='url' value=$_POST[url]>"."<br>";
    $form.='<input type="submit" name="dosubmit" value="提交">'."<br>";
    $form.='</form>';
    echo $form;
    if(isset($_POST['dosubmit'])){
        //url正则表达式
        $reg='/(https?|ftps?)\:\/\/(www|ftp|mail)\.(.*?)\.(cn|com|net)([\w-\/\?\.\=\&]*)?/';
        if(preg_match($reg,"$_POST[url]",$arr)){
            echo "所输入的表单文本完整url为: $arr[0] <br>";
            echo "协议是: $arr[1] <br>";
            echo "主机是: $arr[2] <br>";
            echo "域名是: $arr[3] <br>";
            echo "顶层域是: $arr[4] <br>";
            echo "资源参数是: $arr[5] <br>";
        }
    }
?>
原创粉丝点击