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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP 数组教程 定义数组
Oct 23 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
Laravel定时任务的每秒执行代码
Oct 22 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中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
js Math 对象的方法
2013/09/01 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python实现石头剪刀布程序
2021/01/20 Python
Python3进制之间的转换代码实例
2019/08/24 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python pandas如何向excel添加数据
2020/05/22 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python如何控制进程或者线程的个数
2020/10/16 Python
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
财务会计毕业生自荐信
2013/11/02 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
兵马俑的导游词
2015/02/02 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server