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


Posted in PHP onApril 24, 2008

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 < 1) c = 1;  
        while(c--) str_out = str_out""substr(str, i, 1);  
    }  
    return str_out;  
}
PHP 相关文章推荐
PHP 输出缓存详解
Jun 20 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
解析php入库和出库
Jun 25 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php实现过滤UBB代码的类
Mar 12 PHP
PHP7匿名类用法分析
Sep 26 PHP
php微信开发之关注事件
Jun 14 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
PHP 99乘法表的几种实现代码
Oct 13 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 #PHP
使用PHP的日期与时间函数技巧
Apr 24 #PHP
追求程序速度,而不是编程的速度
Apr 23 #PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 #PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 #PHP
Gregarius中文日期格式问题解决办法
Apr 22 #PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 #PHP
You might like
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
python如何判断IP地址合法性
2020/04/05 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
小学优秀辅导员事迹材料
2014/05/11 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
入党函调证明材料
2014/12/24 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
JVM钩子函数的使用场景详解
2021/08/23 Java/Android
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers