tp5小技巧

1,让模型返回数据集,在database.php文件中修改设置resultset_type:

// 数据集返回类型
'resultset_type'  => 'collection',

2,html中若一部分代码暂时不用,直接注释掉,F12情况下会被看到,此时可用php注释代码方式,例如:

<?php /*
<div class="about_third clearfloat">
    <h3 class=""><img src="__PUBLIC__/img/about_third.png" alt="">联系我们</h3>
        <ul>
            <li class="col-xs-6 col-md-3">
                <div class="yuan">
                    <img src="__PUBLIC__/img/about_03.png" alt="">
                </div>
                <p>企业QQ: 123456</p>
            </li>
        </ul>
    </div>
*/?>

 这样F12情况下,就不会看到这段被注释的html代码了。

3,生成随机字符串

/**
 * +----------------------------------------------------------
 * 生成随机字符串
 * +----------------------------------------------------------
 *
 * @param int    $length 要生成的随机字符串长度
 * @param string $type   随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符
 *                       +----------------------------------------------------------
 *
 * @return string
 * +----------------------------------------------------------
 */
function randString($length = 5, $type = 0){
    $arr = [1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|", 5 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"];
    if ($type == 0) {
        array_pop($arr);
        array_pop($arr);
        $string = implode("", $arr);
    } elseif ($type == "-1") {
        array_pop($arr);
        $string = implode("", $arr);
    } else {
        $string = $arr[$type];
    }
    $count = strlen($string) - 1;
    $code = '';
    for ($i = 0; $i < $length; $i++) {
        $code .= $string[rand(0, $count)];
    }

    return $code;
}

4,用户密码构造函数

/**
 * 用户密码构造函数
 *
 * @param $password
 *
 * @return string
 */
function userPassword($password)
{
    return md5('http://www.abc.com/' . $password);
}

5,字符串替换

/**
 * 字符串替换
 *
 * @param $needle 要被替换的字符指针
 * @param $replacement 要替换的字符
 * @param $haystack 字符串
 * 
 * 例如:replaceString('*','_','我们的*青春*啊') => 我们的_青春_啊
 */
function replaceString($needle, $replacement, $haystack){
    $needle_len = mb_strlen($needle);
    $pos = mb_strpos($haystack, $needle);
    while (!($pos === false)) {
        $front = mb_substr($haystack, 0, $pos);
        $back = mb_substr($haystack, $pos + $needle_len);
        $haystack = $front . $replacement . $back;

        $pos = mb_strpos($haystack, $needle, $pos + $needle_len + 1);
    }

    return $haystack;
}

6,搜索过滤

/**搜索过滤
 * @param $no   int 过滤类型 1 数字 2 日期 3 字符串(不包括特殊字符) 4.数字和字母
 * @param $data string 过滤数据
 */
function searchFilter($no, $data)
{
    $stringReg = "/[\',:;?~`*!#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/";
    $a1Reg = "/^[a-zA-Z0-9]+$/"; //只包含字母和数字
    if ($no != 5) {
        $data = trim($data);
    }
    switch ($no) {
        case 1:
            return is_numeric($data) ? $data : '';
            break; //数字过滤
        case 2:
            return strtotime($data) ? $data : '';
            break; //时间过滤
        case 3:
            return !preg_match($stringReg, $data) ? $data : '';
            break; //字符串过滤(不包含特殊字符)
        case 4:
            return preg_match($a1Reg, $data) ? $data : '';
            break; //数字字母过滤
        case 5:
            return is_array($data) ? $data : [];
            break; //数组验证
        default:
            return '';
            break;
    }
}

7,根据范围生成每个递增间隔组成的数组

/**
 * 传入范围,根据范围生成每个递增间隔组成的数组
 * 生成数组以升序排序
 *
 * 如 generateRangeArray(1,10,2)  => array(1,3,5,7,9)
 * 如 generateRangeArray(1,10,3)  => array(1,4,7,10)
 *
 * @param $start   开始
 * @param $end     结束
 * @param $step    间隔步长
 * @param $orderby 排序, 0升序 1,降序
 *
 * @return array
 */
function generateRangeArray($start, $end, $step){
    if (!is_int($start) || !is_int($end) || !is_int($step) || $end < $start) {
        return [];
    }

    $index = $start;

    $ret = [];
    while ($index <= $end) {
        $ret[] = $index;
        $index += $step;
    }

    return $ret;
}

 

更新中。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值