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 相关文章推荐
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
用php实现选择排序的解决方法
May 04 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 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开发中常用的字符串操作函数
2011/02/08 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
php异常处理方法实例汇总
2015/06/24 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
python 实现倒排索引的方法
2018/12/25 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
2014年应届大学生自我评价
2014/01/09 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
实验心得体会范文
2016/01/25 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL