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制作新闻系统的思路
Oct 09 PHP
如何去掉文章里的 html 语法
Oct 09 PHP
我的群发邮件程序
Oct 09 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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
德生9700DX电路分析
2021/03/02 无线电
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
Python实现批量下载图片的方法
2015/07/08 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
采购部主管岗位职责
2014/01/01 职场文书
党员创先争优心得体会
2014/09/11 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
员工2014年度工作总结
2014/12/09 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL