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 相关文章推荐
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
用php实现选择排序的解决方法
May 04 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PDO::errorCode讲解
Jan 28 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
php 原生分页
Apr 01 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实现ping
2006/10/09 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
PHP多文件上传实例
2015/07/09 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
JavaScript的document对象和window对象详解
2010/12/30 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
javascript学习之json入门
2016/12/22 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
tensorflow识别自己手写数字
2018/03/14 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
python解包概念及实例
2021/02/17 Python
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
C#可否对内存进行直接的操作
2015/02/26 面试题
网页设计个人找工作求职信
2013/11/28 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
会议主持词结束语
2015/07/03 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript