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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
php ctype函数中文翻译和示例
Mar 21 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 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
JavaScript版代码高亮
2006/06/26 Javascript
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
img标签中onerror用法
2009/08/13 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
微信小程序选择图片控件
2021/01/19 Javascript
python分析作业提交情况
2017/11/22 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
python 绘制场景热力图的示例
2020/09/23 Python
家长对孩子的评语
2014/04/18 职场文书
一年级小学生评语
2014/04/22 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
2014年收银工作总结
2014/11/13 职场文书
继承公证书格式
2015/01/26 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
工商局调档介绍信
2015/10/22 职场文书