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 冒泡排序算法的实现代码
Aug 08 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
Yii2数据库操作常用方法小结
May 04 PHP
PHP异步进程助手async-helper
Feb 05 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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实现用于计算执行时间的类实例
2015/04/18 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
关于Django外键赋值问题详解
2017/08/13 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
django Admin文档生成器使用详解
2019/07/22 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
日语专业个人的求职信
2013/12/03 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
销售总经理岗位职责
2014/03/15 职场文书
请假条格式范文
2014/04/10 职场文书
销售团队获奖感言
2014/08/14 职场文书
自我查摆剖析材料
2014/10/11 职场文书
酒会邀请函
2015/01/31 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android