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 foreach循环使用详解与实例代码
May 08 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
php日历制作代码分享
Jan 20 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php限制ip地址范围的方法
Mar 31 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
PHP flush 函数使用注意事项
Aug 26 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
PHP反射学习入门示例
Jun 14 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应用程序来获取Web服务器的状态信息
2006/10/09 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
php5与php7的区别点总结
2019/10/11 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
解析Javascript单例模式概念与实例
2016/12/05 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
微信小程序工具函数封装
2019/10/28 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
如何通过python画loss曲线的方法
2019/06/26 Python
如何基于python操作excel并获取内容
2019/12/24 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
python标准库os库的函数介绍
2020/02/12 Python
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
大一自我鉴定范文
2013/10/04 职场文书
公司演讲稿开场白
2014/08/25 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python