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脚本的10个技巧(6)
Oct 09 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
php下连接mssql2005的代码
Jan 17 PHP
php mysql 判断update之后是否更新了的方法
Jan 10 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
PHP的PDO错误与错误处理
Jan 27 PHP
php数组和链表的区别总结
Sep 20 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php全排列递归算法代码
2012/10/09 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
对pandas中apply函数的用法详解
2018/04/10 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
Python使用python-docx读写word文档
2019/08/26 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python操作toml文件的示例代码
2020/11/27 Python
垃圾桶标语
2014/06/24 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
社会实践活动总结格式
2015/05/11 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
拙作再改《我的收音机情缘》
2022/04/05 无线电
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android