• php常用function(1)


    冷门的function:

    一、mb_substr()  //用来截取中文或英文的函数

    function sub_str($str, $length = 0, $append = true)
    {
        $str = trim($str);
        $strlength = strlen($str);
    
        if ($length == 0 || $length >= $strlength)
        {
            return $str;  //截取长度等于0或大于等于本字符串的长度,返回字符串本身
        }
        elseif ($length < 0)  //如果截取长度为负数
        {
            $length = $strlength + $length;//那么截取长度就等于字符串长度减去截取长度
            if ($length < 0)
            {
                $length = $strlength;//如果截取长度的绝对值大于字符串本身长度,则截取长度取字符串本身的长度
            }
        }
    
        if (function_exists('mb_substr'))
        {
            $newstr = mb_substr($str, 0, $length, EC_CHARSET);
        }
        elseif (function_exists('iconv_substr'))
        {
            $newstr = iconv_substr($str, 0, $length, EC_CHARSET);
        }
        else
        {
            //$newstr = trim_right(substr($str, 0, $length));
            $newstr = substr($str, 0, $length);
        }
    
        if ($append && $str != $newstr)
        {
            $newstr .= '...';
        }
    
        return $newstr;
    }

      http://www.php100.com/html/php/hanshu/2013/0905/4695.html

      http://www.cnblogs.com/whendream/archive/2011/10/02/2198124.html

    二、mb_strimwidth — 获取按指定宽度截断的字符串,截取中文等常用

      

    按字符宽度获取
    
    mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )
    
    参数说明:
    
    $str //指定字符串
    
    $start //指定从何处开始截取
    
    $width //截取文字的宽度
    
    $trimmarker //超过$width数字后显示的字符串
    
    $encoding //设置字符编码【例如:UTF-8】
    
    举个例子来说明
    
    <?php
    
    $string="242432反对感是456犯得上广泛大使馆地方7890";
    echo mb_strimwidth($string,0,14,'...','UTF-8');
    ?>
    
    输出的结果就是:242432反对...

      http://www.cnblogs.com/devcjq/articles/3211783.html

    三、strip_tags  //从字符串中删除html和php的标记

      

    <?php
    $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
    echo strip_tags($text);
    echo "
    ";
    
    // Allow <p> and <a>
    echo strip_tags($text, '<p><a>');
    ?>
    
    output:
    
    Test paragraph. Other text
    <p>Test paragraph.</p> <a href="#fragment">Other text</a>

    http://php.net/manual/en/function.strip-tags.php

    四、htmlspecialchars() //转换html特殊字符

    <?php
    $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
    echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
    ?>

    http://php.net/manual/en/function.htmlspecialchars.php

    五、get_cfg_var() //获取php配置选项的值

    <?php
    //#my ini file
    //A = 1
    //B = any-thing
    //C = yes
    //D = /some/path/file
    
    get_cfg_var('A') // returns '1'
    get_cfg_var('B') // returns 'any-thing'
    get_cfg_var('C') // returns '1', wait, why?
    get_cfg_var('D') // returns '/some/path/file'
    ?>
    
    I had my setting = yes and then checked it as ==="yes" for epic fail.

    http://php.net/manual/zh/function.get-cfg-var.php

    六、uniqid()  //返回以微秒计的当前时间,生成一个唯一id

    //state参数用于防止CSRF攻击,成功授权后回调时会原样带回
         $_SESSION['state'] = md5(uniqid(rand(), TRUE));  //生成唯一的方法

    http://www.w3school.com.cn/php/func_misc_uniqid.asp

    七、curl_init()  //用curl发送

    function do_post($url, $data)    //qq oauth里面的代码,封装的不错
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
        curl_setopt($ch, CURLOPT_POST, TRUE); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
        curl_setopt($ch, CURLOPT_URL, $url);
        $ret = curl_exec($ch);
    
        curl_close($ch);
        return $ret;
    }

    八、strpos + stripos + strrpos + strripos

      都是查找一个字符串在另一个字符串中的位置, strrpos 是表示最后一次出现的位置, strripos,多个 i ,表示大小不敏感。

    <?php
    echo strrpos("hello world, my love", "o"); //返回查找到的最后一次出现的位置
    ?>
    输出:
    17

    九、parse_str 把字符串解析到变量中,通常用来解析url带的参数

      parse_url

    echo "<br/>==============parse_str================<br/>";
    parse_str("id=23&name=bill&age=26");
    echo "不带参数,以变量形式输出:".$id.' '.$name." ".$age;
    echo "<br/>==============parse_str带参数================<br/>";
    parse_str("id=23&name=bill&age=26",$myarray);
    print_r($myarray);
    
    输出:
    ==============parse_str================
    不带参数,以变量形式输出:23 bill 26
    ==============parse_str带参数================
    Array ( [id] => 23 [name] => bill [age] => 26 ) 

    十、pase_url 其实没啥意思,不如用上面的parse_str呢

    echo "<br/>==============parse_url================<br/>";
    $url1 = "http://www.baidu.com/age/5/name/blabla/index.php";
    $url2 = "http://www.hi-nancy.com/index.html?name=wuhaha&age=78";
    print_r(parse_url($url1));
    print_r(parse_url($url2));
    
    输出
    Array ( [scheme] => http [host] => www.baidu.com [path] => /age/5/name/blabla/index.php ) 
    
    Array ( [scheme] => http [host] => www.hi-nancy.com [path] => /index.html [query] => name=wuhaha&age=78 ) 

    十一、strtotime的一个坑,将英文或字符,转换为时间戳

    echo '<br/>==============测试时间戳位数===============<br/>';
    echo time();
    $str = time();
    echo "长度是:".strlen($str).'<br/>';  //1435821467长度是:10  时间戳长度为10位
    
    echo $str2 = pow(2, 31); //2147483648长度是:10 mysql int的范围是,2的31次方 +-1 ,单但如果是unsigned的话,就是32次方
    echo "长度是:".strlen($str2).'<br/>';  //时间戳长度为10位
    
    echo strtotime("2038/1/19 04:14:07");   //2147483647 , 超过这个时间点,变成空了,注意啊

    常用function()

    1、以专家为榜样,不必自己重新探索
    2、解构技能,找出实现80%效果的那20%
    3、不要一心二用
    4、练习练习再练习!然后获得即时反馈
    5、坚持,不要在低谷期放弃
  • 相关阅读:
    Python安装
    solr集群solrCloud的搭建
    redis单机及其集群的搭建
    maven实现tomcat热部署
    maven发布时在不同的环境使用不同的配置文件
    nexus 的使用及maven的配置
    java 自定义注解以及获得注解的值
    Jenkins学习之——(4)Email Extension Plugin插件的配置与使用
    Jenkins学习之——(3)将项目发送到tomcat
    注意Tengine(Nginx) proxy_pass之后的"/"
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/4368481.html
Copyright © 2020-2023  润新知