PHP姓名快速匿名化工具(重组脱敏)

PHP姓名重组工具(脱敏/匿名化工具)
将excel数据姓名列粘贴提交,得到随机姓+随机中间字+随机尾字的重组姓名
那些年自用瞎搞的代码,今日整理成网页交提交得到结果的交互功能分享。 

 

<?php 
//PHP姓名重组工具(脱敏/匿名化工具)
//将excel数据姓名列粘贴提交,得到随机姓+随机中间字+随机尾字的重组姓名
//那些年自用瞎搞的代码,今日整理成网页交提交得到结果的交互功能分享。
//作者 yujianyue 15058593138@qq.com 可接小功能定制
$nx = "PHP姓名重组工具(脱敏/匿名化工具)";
function tipx($str){
preg_match_all('/[\x{4e00}-\x{9fa5}]+/u', $str, $match);
return join("\r\n",$match[0]);
}
function tips($str){
preg_match_all('/[|][\x{4e00}-\x{9fa5}]/u', $str, $match);
return join("\r\n",$match[0]);
}
function tipe($str){
preg_match_all('/[\x{4e00}-\x{9fa5}][|]/u', $str, $match);
return join("\r\n",$match[0]);
}
function tipz($str){
preg_match_all('/[\x{4e00}-\x{9fa5}]/u', $str, $match);
return join("\r\n",$match[0]);
}
function tipo($str){
preg_match_all('/[\x{4e00}-\x{9fa5}]/u', $str, $match);
return $match[0];
}
function txtarea($nb,$ht="50vh") {
 $nb = str_replace(array("[","]"),"",$nb);
 return "\r\n\r\n<textarea style='display:inline; height:$ht;width:5vw;min-width:118px;'>$nb</textarea>";
}

if($_GET["x"] == "cha"){
$txts = isset($_POST['tips']) ? $_POST['tips'] : '';
$lis1 = tipx($txts); echo txtarea($lis1); 
$lisx = str_replace(array("\r\n","\r","\n"),"|",$lis1);
$lisy = str_replace(array("\r\n","\r","\n"),"||",$lis1);
$lis2 = tips("|$lisx|"); $liz2=str_replace("|","",$lis2); echo txtarea($liz2);
$lis3 = tipe("|$lisx|"); $liz3=str_replace("|","",$lis3); echo txtarea($liz3);
$lisa = explode("\r\n", $lis2."\r\n".$lis3);
$lisb = str_replace($lisa,"","|$lisy|");
$lis4 = tipz("|$lisb|"); echo txtarea($lis4);
$x1 = tipo($liz2); $x2 = tipo($liz3); $x3 = tipo($lis4);
if(count($x3)<1) $x3=$x2;
//shuffle($x1); shuffle($x2); shuffle($x3); //可以增一重随机
$namx = [];
for($ii=0;$ii<count($x1);$ii++){
 $z1=array_rand($x1); $z3=array_rand($x3); $z2=array_rand($x2);
 $namx[]= $x1[$z1].$x3[$z3].$x2[$z2];
}
$namz = join("\r\n",$namx); echo txtarea($namz);
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $nx; ?></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes" />
<script type="text/javascript">
console.log("问题反馈电话:","15058593138");
console.log("问题反馈邮件:","admin@12391.net");
function $(objId){
return document.getElementById(objId);
}
function loadcha(xid) {
var xmlhttp;
var Stxt= "nums=aa";
Stxt+="&tips="+ encodeURIComponent($("tips").value);
//$("tips").innerHTML = "正在加载...";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var btxt = xmlhttp.response;
if(btxt == "err01"){ $("tipx").innerHTML = "!"; return false;}
$('tipx').innerHTML = xmlhttp.response;
}
}
xmlhttp.open("POST", "?x=cha&tt="+Math.random(), true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(Stxt);
}
 
</script>
<style>
div,#tipx{display:block;width:99.7%;border:0;margin-top:5px;}
textarea{display:block;width:99.7%;border:1px solid #ccc;height:160px;}
table{margin:20px auto;border-left:1px solid #a2c6d3;border-top:3px solid #0180CF;font-size:12px;width:99.7%;}
table td{border-right:1px solid #a2c6d3;border-bottom:1px solid #a2c6d3;padding:2px;word-wrap:break-word;word-break:break-all;}
td{min-width:30px;max-width:490px;}
.tt{background-color: #f2f2f2;}
#submit{ height:35px;}
</style>
</head>
<body>
 
<form class="form" id="form" method="POST" act="?act=cha" >
 <p><?php echo $nx; ?></p>
<!-- 以下名字300姓氏 随机组成-->
<textarea id="tips">
邵向崔
翟顾成
吴钱康
桂何查
桂何查
闵姚邹
安柯覃
植邵施
阮马魏
阮顾查
尹葛车
谢曹鲍
梅孟芦
安涂黄
屈曹孔
谭席薄
叶高屈
武覃何
司侯汪
赵易谷
裴贾董
</textarea>
 <input type="button" id="submit" value="提交发送" onclick="loadcha('xid')">
<div id="tipx">将姓名列粘贴提交,得到重新组合的姓名(首中尾字不变)。</div>
 </form>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/467202.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux TCP参数——tcp_adv_win_scale

文章目录 tcp_adv_win_scaleip-sysctl.txt解释buffering overhead内核缓存和应用缓存示例计算深入理解从2到1(tcp_adv_win_scale的值)总结 tcp_adv_win_scale adv-advise&#xff1b;win-window; 用于指示TCP中接收缓存比例的值。 static inline int tcp_win_from_space(int …

蓝桥杯-Python组(一)

1. 冒泡排序 算法步骤&#xff1a; 比较相邻元素&#xff0c;如果第一个大于第二个则交换从左往右遍历一遍&#xff0c;重复第一步&#xff0c;可以保证最大的元素在最后面重复上述操作&#xff0c;可以得到第二大、第三大、… n int(input()) a list(map(int, input()…

java实现kml文件下载接口

根据业务需求&#xff0c;需提供一个下载kml格式航线文件的HTTP GET接口 示例代码 RequestMapping(value "/getFlyingPathFile/{uavTypeId}/{flyingPathId}.kml", method RequestMethod.GET, produces "application/vnd.google-earth.kmlxml") Respons…

轻松打造完美原型:9款在线工具推荐

早年&#xff0c;UI设计师选择的工具有限&#xff0c;功能相对单一&#xff0c;大多数在线原型设计工具都是国外的&#xff0c;语言和网络都增加了设计工作的负担。如今&#xff0c;国内外有许多在线原型设计工具&#xff0c;不仅可以在浏览器上使用&#xff0c;而且还具有团队…

wsl or 虚拟机 安装

1.wsl2安装 WSL全称Windows Subsystem for Linux&#xff0c;是微软开发的适用于Linux的Windows子系统 如今已经有两代了&#xff1a; 所以用的多的还是wsl2。 安装前需要先去设置启用或关闭Windows功能&#xff1a; 打开适用于linux的子系统和虚拟机平台。 Microsoft Store里…

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均&#xff1a; yt-1是上一时刻输出&#xff0c;xt是当前时刻输入&#xff0c;m是动量&#xff0c;不想让当前时刻输出只依赖于当前时刻的输入&#xff0c;m很大时&#xff0…

小程序搜索排名优化二三事

小程序的优化主要是排名优化和性能优化两个版块。性能优化这方面主要靠开发者自己完善&#xff0c;我们团队提供的服务就是把产品的排名打上去&#xff0c;获得更多的自然流量&#xff0c;实现盈利。 如何提升小程序的搜索排名主要从如下几个方面出发&#xff1a; 首先要知道…

二蛋赠书十八期:《一本书讲透Elasticsearch:原理、进阶与工程实践》

Elasticsearch 是一种强大的搜索和分析引擎&#xff0c;被广泛用于各种应用中&#xff0c;以其强大的全文搜索能力而著称。 不过&#xff0c;在日常管理 Elasticsearch 时&#xff0c;我们经常需要对索引进行保护&#xff0c;以防止数据被意外修改或删除&#xff0c;特别是在进…

【数据结构与算法】:非递归实现快速排序、归并排序

&#x1f525;个人主页&#xff1a; Quitecoder &#x1f525;专栏&#xff1a;数据结构与算法 上篇文章我们详细讲解了递归版本的快速排序&#xff0c;本篇我们来探究非递归实现快速排序和归并排序 目录 1.非递归实现快速排序1.1 提取单趟排序1.2 用栈实现的具体思路1.3 代码…

PHP反序列化---字符串逃逸(增加/减少)

一、PHP反序列化逃逸--增加&#xff1a; 首先分析源码&#xff1a; <?php highlight_file(__FILE__); error_reporting(0); class A{public $v1 ls;public $v2 123;public function __construct($arga,$argc){$this->v1 $arga;$this->v2 $argc;} } $a $_GET[v…

计算机组成原理-2-计算机的发展应用

2. 计算机的发展应用 文章目录 2. 计算机的发展应用2.1 计算机的发展史2.1.1 计算机的产生和发展2.1.2 微型计算机的出现和发展2.1.3 软件技术的发展和兴起 2.2 计算机的应用和展望 本笔记参考哈工大刘宏伟老师的MOOC《计算机组成原理&#xff08;上&#xff09;_哈尔滨工业大学…

sqllab第二十四关通关笔记

知识点&#xff1a; 二次注入 先埋一个炸弹&#xff0c;然后通过其他路径引爆它 查看界面发现是一个登录框&#xff0c;尝试进行登录框的注入发现这里不存在注入点 那么就注册一个新的账户吧 通过点击注册&#xff0c;进入注册面板&#xff0c;注册一个新的账户 用户名为 re…

react native 实现自定义底部导航与路由文件配置

首先先把需要的一些库引入 yarn install react-navigation/native yarn install react-native-screens react-native-safe-area-context yarn install react-navigation/native-stack yarn add react-navigation/bottom-tabs 创建路由文件及四个底部导航页面 router文件下的bot…

车载电子电器架构 - 网络拓扑

车载电子电器架构 - 网络拓扑 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠…

SpringBoot ApplicationListener实现发布订阅模式

文章目录 前言一、Spring对JDK的扩展二、快速实现发布订阅模式 前言 发布订阅模式(Publish-Subscribe Pattern)通常又称观察者模式&#xff0c;它被广泛应用于事件驱动架构中。即一个事件的发布&#xff0c;该行为会通过同步或者异步的方式告知给订阅该事件的订阅者。JDK中提供…

数据结构中单向链表(无头)的学习

一.数据结构 1.定义 一组用来保存一种或者多种特定关系的数据的集合&#xff08;组织和存储数据&#xff09; 程序的设计&#xff1a;将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中&#xff0c; 并在此基础上实现某个特定的功能的操…

Games101-光栅化(三角形 )

视锥 fov:可视角 aspect ratio&#xff1a;宽高比 MVP 屏幕&#xff1a;抽象的认为是一个二维数组&#xff0c;数组中的每一个元素是一个像素 屏幕是一个典型的光栅成像设备 光栅化&#xff1a;把东西画在屏幕上的过程 像素&#xff1a;理解为不变的最小单位&#xff0c;RGB的…

SSA优化最近邻分类预测(matlab代码)

SSA-最近邻分类预测matlab代码 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&#xff0c;主要是受麻雀的觅食行为和反捕食行为的启发。 数据为Excel分类数据集数据。 数据集划分为训练集、验证集、测试集,比例为8&#…

Android14之HIDL报错:Invalid sparse file format at header magic(一百九十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

利用自定义 URI Scheme 在 Android 应用中实现安全加密解密功能

在现代移动应用开发中&#xff0c;安全性和用户体验是至关重要的考虑因素。在 Android 平台上&#xff0c;开发人员可以利用自定义 URI Scheme 和 JavaScript 加密解密技术来实现更安全的数据传输和处理。本文将介绍如何在 Android 应用中注册自定义 URI Scheme&#xff0c;并结…