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+APACHE实现用户论证的方法
Oct 09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 PHP
PHP 命名空间和自动加载原理与用法实例分析
Apr 29 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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 获取全局变量的代码
2011/04/21 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
出纳担保书范文
2014/04/02 职场文书
一年级学生期末评语
2014/04/21 职场文书
争先创优演讲稿
2014/09/15 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
免职证明样本
2014/10/23 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
居委会工作总结2015
2015/05/18 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
Python制作表白爱心合集
2022/01/22 Python