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抓取页面与代码解析 推荐
Jul 23 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php的闭包(Closure)匿名函数详解
Feb 22 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 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
20个PHP常用类库小结
2011/09/11 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
php修改数组键名的方法示例
2017/04/15 PHP
javascript读取RSS数据
2007/01/20 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
前端性能优化建议
2020/09/17 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
python实现多线程抓取知乎用户
2016/12/12 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
骨干教师考核方案
2014/05/09 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
Python实现滑雪小游戏
2021/09/25 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers