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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
PHP_MySQL教程-第一天
Mar 18 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
php之Memcache学习笔记
Jun 17 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 27 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
jQuery的slideToggle方法实例
2013/05/07 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
MySQL适配器PyMySQL详解
2017/09/20 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
解决python运行启动报错问题
2020/06/01 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
先进工作者获奖感言
2014/02/08 职场文书
股东合作协议书
2014/04/14 职场文书
董事长秘书工作职责
2014/06/10 职场文书
委托证明书
2014/09/17 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2015元旦节寄语
2014/12/08 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript