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 如何向 MySQL 发送数据
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 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 Hash函数,增强密码安全
2011/02/25 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
php 购物车完整实现代码
2014/06/05 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
js尾调用优化的实现
2019/05/23 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Python 返回汉字的汉语拼音
2009/02/27 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
利用Python实现kNN算法的代码
2019/08/16 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
Pygame框架实现飞机大战
2020/08/07 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
德国购买健身器材:AsVIVA
2017/08/09 全球购物
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
简历中自我评价分享
2013/10/09 职场文书
初婚未育证明
2014/01/15 职场文书
勤俭节约倡议书
2014/04/14 职场文书