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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
Apache2 httpd.conf 中文版
Dec 06 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 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 远程图片保存到本地的函数类
2008/12/08 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
yii2安装详细流程
2018/05/23 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
用js实现随机返回数组的一个元素
2007/08/13 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
python实现决策树分类算法
2017/12/21 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Django csrf 验证问题的实现
2018/10/09 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
python计算二维矩形IOU实例
2020/01/18 Python
python实现随机加减法生成器
2020/02/24 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
阿波罗盒子:Apollo Box
2017/08/14 全球购物
国际书籍零售商:Wordery
2017/11/01 全球购物
物业品质提升方案
2014/06/08 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
实习报告怎么写
2019/06/20 职场文书
无线电通信名词解释
2022/02/18 无线电
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android