php怎么压缩文字,php实现的简单压缩英文字符串的代码

PHP,适应于上帖简单加密后的密文

//replacement来自上个版本的加密替换

function compress_func($match) {return strlen($match[0]).$match[0]{0};}

function uncompress_func($match) {return str_repeat($match[2], $match[1]);}

function compress($str) {

$i = 0;

$pattern = array();

while(isset($replacement{$i})) array_push($pattern, "/".$replacement{$i++}."{2,}/");

return preg_replace_callback($pattern, "compress_func", $str);

}

function uncompress($str) {

return preg_replace_callback("/(d+)(w)/", "uncompress_func", $str);

}

?>

AWK,通用格式

#!/bin/awk

function compress(str, _ARGVEND_, str_out, str_len, i, s, l) {

str_out = "";

str_len = length(str);

s = "";

l = 1;

for(i =1; i <= str_len; i++) {

if(substr(str, i, 1) == s) l++;

else {

if(s != "") {

if(l > 1) str_out=str_out""l

str_out=str_out""s;

}

s = substr(str, i, 1);

l = 1;

}

}

return str_out;

}

function uncompress(str, _ARGVEND_, str_out, str_len, i, c) {

str_out = "";

str_len = length(str);

for(i =1; i <= str_len; i++) {

c = 0;

while(substr(str, i, 1)~/[0-9]/) {

c = c*10+substr(str, i, 1);

i++;

}

if(c 

while(c--) str_out = str_out""substr(str, i, 1);

}

return str_out;

}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​被冷落的运算符重载

基本类型可以使用运算符进行运算、比较、取反等操作。如果想使用运算符操作两个对象&#xff0c;我们就需要用到运算符重载。我们先看个例子&#xff0c;假如有个房子类&#xff0c;有长和宽两个属性。代码如下&#xff1a;接下来我们使用House类实例化两个对象&#xff1a;hou…

如何在MATLAB中把变量填到Word中,matlab数据写入现有excel表格-如何将matlab中变量写入excel...

如何将matlab 中的数据写入现有的word 表格中&#xff1f;你可以这样做&#xff1a;(1)先在matlab里面&#xff0c;把相关数据导出、保存成csv格式的文件&#xff1b;比如说&#xff0c;你可以在workspace视图底下&#xff0c;把相关的变量直接导出&#xff1b;(2)用excel打开c…

neo4j 查询同一节点的两个上级_WhatRoute for Mac(互联网流量诊断查询工具)

如果您想在不使用命令行的情况下执行流量诊断查询&#xff0c;那么WhatRoute是一个不错的选择。WhatRoute提供了一个干净且有条理的界面&#xff0c;主要提供Traceroute功能&#xff0c;但也可以执行Ping&#xff0c;域名服务查询&#xff0c;Whois查询以及监控进出计算机的流量…

matlab的灰色关联,灰色关联度Matlab代码

load x.txt %把原始数据存放在纯文本文件x.txt中&#xff0c;其中把数据的"替换替换成.for i1:40x(i,:)x(i,:)/x(i,1); %标准化数据enddatax;nsize(data,2); %求矩阵的列数&#xff0c;即观测时刻的个数ckdata(1,:); %提出参考数列bjdata(2:end,:); %提出比较数列m2size(b…

快来参加学习.NET 挑战赛

今天访问dot.net 网站看到了一个学习.NET 挑战赛&#xff0c;发现已经赛程过半了&#xff0c;这是一个为那些想更多地了解 C# 和 .NET 的人举办的一个完全免费的课程活动&#xff0c;这些模块必须在 11 月底前完成。参加这个挑战赛&#xff0c;你必须从 .NET 学习挑战页面进入进…

excel怎么设置打印区域_别再浪费打印纸了!这样设置,Excel表格再大都能打印成一页!...

在打印Excel表格时&#xff0c;你是不是经常碰到过这种情况&#xff1a;明明排版好的表格&#xff0c;结果打印完却发现只显示一半......表格太宽导致无法打印在A4纸上......今天叨叨君就来分享几个有效的解决方法&#xff0c;教你轻轻松松将表格打印在一页纸上&#xff0c;一起…

matlab size x 2,Matlab中的N=size(X,2)是什么意思

size()&#xff1a;获取矩阵的行数和列数(1)ssize(A),当只有一个输出参数时&#xff0c;返回一个行向量&#xff0c;该行向量的第一个元素时矩阵的行数&#xff0c;第二个元素是矩阵的列数。(2)[r,c]size(A),当有两个输出参数时&#xff0c;size函数将矩阵的行数返回到第一个输…

.NET必知的EventCounters性能指标监视器

在.NET我们对于性能指标监控&#xff0c;其实常见的有两个方法&#xff0c;一个是CLI工具dotnet-counters而另一个是代码级别的EventListener.使用dotnet-countersdotnet-counters是一个性能指标监视工具&#xff0c;用于临时运行状态监视和初级性能调查。它可以观察通过 Event…

xcode 修改 infodictionary_安卓系统修改复位键生效时间

文档说明本文档以SC806-CN-00(msm8909平台&#xff0c;Android 7)为例&#xff0c;说明如何修改复位键生效时间。应用背景默认情况下&#xff0c;按复位键&#xff0c;系统马上直接关机。在实际应用中&#xff0c;有可能由于干扰造成的抖动导致误关机行为。 为避免发生这种情况…

为什么曾经优秀的人突然变得平庸?

职场&认知洞察 丨 作者 / findyi这是findyi公众号分享的第95篇原创文章一个读者的提问&#xff1a;洋哥&#xff0c;我从小都是学霸&#xff0c;本硕都是985&#xff0c;计算机科班出身&#xff0c;但进入职场后却始终无法取得突破。工作5年还是基层员工&#xff0c;我该怎…

php xlsx格式转换csv,我想使用C将.xls或.xlsx文件转换为.csv格式#

我试图用C编写代码,将.xls/.xlsx文件转换为.csv文件,打开文件后将其保存为.csv文件,但结果文件仍然具有所有Excel属性(如合并单元格、标题等),但当我查看属性时,它将文件类型显示为.csv。在我的代码中,我打开一个execl并使用saveas保存它。using System;using System.Collectio…

java编程_Java编程和C语言的比较

很多人都拿Java编程和c语言相比较&#xff0c;那么今天小编就来先说说个人理解吧&#xff0c;新手学习Java很简单&#xff0c;上手也很容易&#xff0c;只需要会拼音就可以&#xff0c;简单而且没有门槛&#xff0c;而c语言学习成本高&#xff0c;更需要投入较大的精力&#xf…

.NET Core3.1升级.NET5,坑还真不少...

11月11号是电商狂欢的日子&#xff0c;也是.NET5正式发布的日子&#xff0c;媳妇儿等着零点秒杀&#xff0c;我却在刷新着微软官网等更新&#xff0c;然后第一时间开始折腾。此前Scott Hunter在博客信誓旦旦.NET Core3.1平滑迁移.NET5&#xff0c;于是当天就去升级我的宝藏项目…

mysql查询语句4,MySQL(4):CRUD语句(2)——基本查询

“增删改查”的查询语句。create table student(id int,name varchar(20),chinese float,english float,math float);insert into student(id,name,chinese,english,math) values(1,张小明,89,78,90);insert into student(id,name,chinese,english,math) values(2,李进,67,98,5…

requestPermissions读写手机存储权限_泛圈云盘可为企业建立高效安全的云办公在线协同文档存储?...

泛圈企业云盘结合智能手机和无线网络&#xff0c;实现对任何办公地点和办公时间的无缝访问&#xff0c;提高办公效率。它可以连接客户原有的各种IT系统&#xff0c;包括OA、邮件、ERP等各种个人业务系统&#xff0c;使手机也可以用来操作、浏览、管理公司的所有工作事务&#x…

怎么将SVG转成PNG(.NET工具包编写)

序一天&#xff0c;作者在深圳湾吹风时突然想到自己还有 20 多位粉丝&#xff0c;所以决定每周至少要水一篇文章。众所周知&#xff0c;一篇文章要有封面&#xff0c;正痛苦时&#xff0c;.NET 官方网站更新了一大波质量上乘的插图&#xff1b;高兴之余&#xff0c;发觉平台不支…

matlab 数组 冒号,matlab中冒号的用法

转自&#xff1a;https://hi.baidu.com/sunsee/item/9985c91895bd88f8ddeecae3对于A(四行五列)矩阵,A(2:3,1:2:5)是什么意思?问题补充&#xff1a;能解释下为什么是一,三,五列满意回答显示A的第二行与第三行的第一、三、五列。因为矩阵后面如果是圆括号&#xff0c;那么都表示…

ghelper怎么在手机上用_当长时间不用手机玩《崩坏3》、《战双》

崩坏3、战双&#xff0c;虽然是手机游戏&#xff0c;作为一个PC党&#xff0c;我还是热衷于用电脑玩游戏。用电脑玩游戏可以把画质全部开到最大&#xff0c;依旧可以顺畅地进行游戏。手机就不行&#xff0c;即使是苹果&#xff0c;把画质拉满&#xff0c;依旧会有卡顿。特别是崩…

java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)

1&#xff0e;什么是Listener监听器就像老板的秘书&#xff0c;那个秘书就是活的监听器&#xff0c;时时监听着老板&#xff0c;当老板发生一些事情的时候&#xff0c;秘书就会有相应的措施。比如老板口渴了&#xff0c;秘书就会去端茶&#xff1b;比如老板要提提神&#xff0c…

System.Text.Json中时间格式化

转自&#xff1a;Rayomcnblogs.com/Rayom/p/13967415.html简介.Net Core 3.0开始全新推出了一个名为System.Text.Json的Json解析库&#xff0c;用于序列化和反序列化Json&#xff0c;此库的设计是为了取代Json.Net(Newtonsoft.Json)时间格式化的不足System.Text.Json的优点就不…