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 的 __FILE__ 常量
Jan 15 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php数组随机排序实现方法
Jun 13 PHP
PHP实现简单数字分页效果
Jul 26 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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打开文件fopen函数的使用说明
2013/07/05 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
任意位置显示html菜单
2007/02/01 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
详解Python正则表达式re模块
2019/03/19 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
大学生实习感言
2014/01/16 职场文书
实验室标语
2014/06/21 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
优秀员工演讲稿
2019/06/21 职场文书
德劲DE1108畅想
2021/04/22 无线电
vue实现同时设置多个倒计时
2021/05/20 Vue.js
MySQL大小写敏感的注意事项
2021/05/24 MySQL
Python Django获取URL中的数据详解
2021/11/01 Python