PHP实现的多彩标签效果代码分享


Posted in PHP onAugust 21, 2014

目前,大家的博客左侧通常加上一个漂亮的多彩标记,也想给自己的小站加一下这个小功能。

可惜已经再不再是使用WordPress的时候那么方便了,使用WordPress的朋友们直接使用现成的插件,鼠标点点就可以加上这个炫彩的功能。小站程序是自个写的,要加这么一个功能还是得自己动手,就当学习吧!

首先,我分析了一下目前多彩标签的主要表现形式,主要有两点:颜色多样,大小不一。这个是多彩标签的特性,于是想到了PHP中的随机函数rand。直接给大小,颜色用rand随机取值就可以。

大小的随机值容易搞定,直接生成后连接单位即可

<?php

// 随机大小实例

$m = rand(20,30);

echo '<span style="font-size:'.$m.'px">随机大小</span>';

?>

生成颜色值稍微麻烦一些,因为颜色值是十六进制字符表现形式,而随机函数rand不能直接生成 0 到 F 这么用,最后直接用数组保存十六进制字符,然后随机生成鼠标下标这样也可以实现随机颜色
<?php

// 随机颜色函数

// 直接返回随机生成的色值

function getColor(){

        // 先用数组把十六进制字符保存在一个数组中

    $arr = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

 

        // 因为颜色色值长度是6位,所以循环6次

    for($i=0;$i<6;$i++){

                // 随机生成0到15数字,然后当作数组下标取值即可

        $color .= $arr[rand(0,15)]; 

    }

 

        // 返回的时候,把#号加上

    return ‘#'.$color;

}

?>

随机大小,随机颜色搞定后剩下的都不是问题的问题了。直接取出所有标签然后去重,然后遍历数组生成HTML文本即可。

最后提点建议,毕竟PHP是服务器端,每次都rand会让服务器鸭梨不小(那些特牛的机器可以忽略不计,毕竟目前用VPS的还是众多)。我们可以在博客的标签在发生变动的时候再生成即可,比如删除,修改,增加文章产生新的标签时候我们再去生成多彩标签的HTML文本。最后这些生成的多彩签HTML没必要存进数据库,直接保存在在一个文件里,然后include即可。

目前,我的小站就是这么实现的。有空,我再介绍JavaScript实现多彩标签,原理也差不多一样,只不过是JavaScript是客户端行为,不用担心服务器端的鸭梨,而且JavaScript交互性比较好,可以制作出具有动画效果的云标签。

PHP 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
php curl常用的5个经典例子
Jan 20 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 #PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 #PHP
个人写的PHP验证码生成类分享
Aug 21 #PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 #PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 #PHP
ThinkPHP登录功能的实现方法
Aug 20 #PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 #PHP
You might like
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
pytorch 修改预训练model实例
2020/01/18 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
python 如何停止一个死循环的线程
2020/11/24 Python
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
市场部专员岗位职责
2013/11/30 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书