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与XML的PDF文档生成技术
Oct 09 PHP
我的论坛源代码(二)
Oct 09 PHP
php 文件夹删除、php清除缓存程序
Aug 25 PHP
php array的学习笔记
May 10 PHP
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
php如何实现只替换一次或N次
Oct 29 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
js tab效果的实现代码
2009/12/26 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
javascript数组去重小结
2016/03/07 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
vue实现PC端分辨率适配操作
2020/08/03 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
Python 模拟购物车的实例讲解
2017/09/11 Python
解读! Python在人工智能中的作用
2017/11/14 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
实验室的标语
2014/06/20 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
技能培训通讯稿
2015/07/18 职场文书
开学典礼校长致辞
2015/07/29 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android