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 相关文章推荐
example2.php
Oct 09 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php关键字仅替换一次的实现函数
Oct 29 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
基于PHP array数组的教程详解
2013/06/05 PHP
php异常处理使用示例
2014/02/25 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
event.srcElement+表格应用
2006/08/29 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
详解Python 函数如何重载?
2019/04/23 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
会计主管岗位职责
2014/01/03 职场文书
五四青年节演讲稿
2014/05/26 职场文书
合作合同协议书范本
2015/01/27 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python