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中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
php获取文件大小的方法
Feb 26 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
怎样搭建PHP开发环境
Jul 28 PHP
php实现图片缩略图的方法
Mar 29 PHP
非常实用的php验证码类
May 15 PHP
php字符串的替换,分割和连接方法
May 23 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
php正则表达式使用方法整理集合
Jan 31 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面向对象全攻略 (五) 封装性
2009/09/30 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
google地图的路线实现代码
2009/08/20 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
python实现自动重启本程序的方法
2015/07/09 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
计算机专业毕业生自我鉴定
2014/01/16 职场文书
数控机床专业自荐信
2014/05/19 职场文书
大学生在校表现评语
2014/12/31 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
2016年教师节慰问信
2015/12/01 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS