• 技术文章 >后端开发 >php教程

    10个实用的PHP代码片段_php技巧

    2016-05-17 09:15:58原创430
    关键词高亮
    复制代码 代码如下:

    function highlight($sString, $aWords) {
    if (!is_array ($aWords) || empty ($aWords) || !is_string ($sString)) {
    return false;
    }
    $sWords = implode ('|', $aWords);
    return preg_replace ('@\b('.$sWords.')\b@si', '$1', $sString);
    }

    获取你的Feedburner的用户
    复制代码 代码如下:

    function get_average_readers($feed_id,$interval = 7){
    $today = date('Y-m-d', strtotime("now"));
    $ago = date('Y-m-d', strtotime("-".$interval." days"));
    $feed_url="https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed_id."&dates=".$ago.",".$today;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $feed_url);
    $data = curl_exec($ch);
    curl_close($ch);
    $xml = new SimpleXMLElement($data);
    $fb = $xml->feed->entry['circulation'];
    $nb = 0;
    foreach($xml->feed->children() as $circ){
    $nb += $circ['circulation'];
    }
    return round($nb/$interval);
    }

    自动生成密码
    复制代码 代码如下:

    function generatePassword($length=9, $strength=0) {
    $vowels = 'aeuy';
    $consonants = 'bdghjmnpqrstvz';
    if ($strength >= 1) {
    $consonants .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($strength >= 2) {
    $vowels .= "AEUY";
    }
    if ($strength >= 4) {
    $consonants .= '23456789';
    }
    if ($strength >= 8 ) {
    $vowels .= '@#$%';
    }
    $password = '';
    $alt = time() % 2;
    for ($i = 0; $i < $length; $i++) {
    if ($alt == 1) {
    $password .= $consonants[(rand() % strlen($consonants))];
    $alt = 0;
    } else {
    $password .= $vowels[(rand() % strlen($vowels))];
    $alt = 1;
    }
    }
    return $password;
    }

    压缩多个CSS文件
    复制代码 代码如下:

    header('Content-type: text/css');
    ob_start("compress");
    function compress($buffer) {
    /* remove comments */
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    /* remove tabs, spaces, newlines, etc. */
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
    return $buffer;
    }
    /* your css files */
    include('master.css');
    include('typography.css');
    include('grid.css');
    include('print.css');
    include('handheld.css');
    ob_end_flush();

    获取短网址
    复制代码 代码如下:

    function getTinyUrl($url) {
    return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
    }

    根据生日计算年龄
    复制代码 代码如下:

    function age($date){
    $year_diff = '';
    $time = strtotime($date);
    if(FALSE === $time){
    return '';
    }
    $date = date('Y-m-d', $time);
    list($year,$month,$day) = explode("-",$date);
    $year_diff = date("Y") – $year;
    $month_diff = date("m") – $month;
    $day_diff = date("d") – $day;
    if ($day_diff < 0 || $month_diff < 0) $year_diff–;
    return $year_diff;
    }

    计算执行时间
    复制代码 代码如下:

    //Create a variable for start time
    $time_start = microtime(true);
    // Place your PHP/HTML/JavaScript/CSS/Etc. Here
    //Create a variable for end time
    $time_end = microtime(true);
    //Subtract the two times to get seconds
    $time = $time_end - $time_start;
    echo 'Script took '.$time.' seconds to execute';

    PHP的维护模式
    复制代码 代码如下:

    function maintenance($mode = FALSE){
    if($mode){
    if(basename($_SERVER['SCRIPT_FILENAME']) != 'maintenance.php'){
    header("Location: http://example.com/maintenance.php");
    exit;
    }
    }else{
    if(basename($_SERVER['SCRIPT_FILENAME']) == 'maintenance.php'){
    header("Location: http://example.com/");
    exit;
    }
    }
    }

    阻止CSS样式被缓存
    复制代码 代码如下:


    为数字增加 st\nd\rd 等
    复制代码 代码如下:

    function make_ranked($rank) {
    $last = substr( $rank, -1 );
    $seclast = substr( $rank, -2, -1 );
    if( $last > 3 || $last == 0 ) $ext = 'th';
    else if( $last == 3 ) $ext = 'rd';
    else if( $last == 2 ) $ext = 'nd';
    else $ext = 'st';
    if( $last == 1 && $seclast == 1) $ext = 'th';
    if( $last == 2 && $seclast == 1) $ext = 'th';
    if( $last == 3 && $seclast == 1) $ext = 'th';
    return $rank.$ext;
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP代码片段
    上一篇:php中防止伪造跨站请求的小招式_php技巧 下一篇:php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串_php技巧
    千万级数据并发解决方案

    相关文章推荐

    • PHP编码规范的深入探讨_PHP• php设计模式 Bridge (桥接模式)_PHP• rephactor 优秀的PHP的重构工具_PHP• php 数组使用详解 推荐_PHP• php笔记之常用文件操作_PHP
    1/1

    PHP中文网