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传输数据的代码
Nov 13 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
PHP模块memcached使用指南
Dec 08 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
PHP浮点数精度问题汇总
May 13 PHP
php实现多城市切换特效
Aug 09 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 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
隐藏你的.php文件的实现方法
2007/03/19 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
Js动态创建div
2008/09/25 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
node.js实现端口转发
2016/04/14 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
质检部部长职责
2013/12/16 职场文书
团队激励口号
2014/06/06 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL