php实现的简单压缩英文字符串的代码
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压缩和解压缩字符串的方法.分享给大家供大家参考.具体如下: 下面php代码通过gzcompress和gzuncompress压缩和解压缩字符串,可以设定压缩级别 $str = 'Hello I am a very very very very long string'; $compressed = gzcompress($str, 9);//压缩级别为9 $uncompressed = gzuncompress($compressed); echo $str, "\n&quo
-
php截取字符串函数分享
经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数.答案当然是有的.PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数. 复制代码 代码如下: /** * 方法库-截取字符串-[该函数作者未知] * @param string $string 字符串 * @param int $length 字符长度 * @pa
-
php查询相似度最高的字符串的方法
本文实例讲述了php查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 1. PHP代码如下: function closest_word($input, $words) { $shortest = -1; foreach ($words as $word) { $lev = levenshtein($input, $word); if ($lev == 0) { $closest = $word; $shortest = 0;
-
php 字符串压缩方法比较示例
php 提供的字符串压缩方法有 1.gzcompress - Compress a string This function compress the given string using the ZLIB data format. 2.gzencode - Create a gzip compressed string This function returns a compressed version of the input data compatible with the output
-
php字符串过滤与替换小结
本文实例总结了php字符串过滤与替换的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php class cls_string_filter{ //将\n转化为<br/>--囧,这有意思么? static public function nl2br($string){ return nl2br($string); } //将<br/>转化为\n static public function br2nl($string){ $arra
-
php获取字符串中各个字符出现次数的方法
本文实例讲述了php获取字符串中各个字符出现次数的方法.分享给大家供大家参考.具体实现方法如下: <?php //获取字符串是哪一个字符出现的字数最多 $str = "sdfhletlsflahlajgfd;lsje;r;wj;ralajfe149253573"; //方法一 $arr = str_split($str); //字符串分隔到数组中 $arr = array_count_values($arr); //用于统计数组中所有值出现的次数,返回一个数组 //键名为原数组的
-
php返回字符串中所有单词的方法
本文实例讲述了php返回字符串中所有单词的方法.分享给大家供大家参考.具体分析如下: 这段代码返回字符串中的所有单词,当$distinct=true时去除重复元素.代码如下: <?php function split_en_str($str,$distinct=true) { preg_match_all('/([a-zA-Z]+)/',$str,$match); if ($distinct == true) { $match[1] = array_unique($match[1]); } so
-
php截取中文字符串函数实例
本文实例讲述了php截取中文字符串函数.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //中文字符串截取 function substr_zh($string,$sublen,$start=0,$code='UTF-8'){ if($code=='UTF-8'){ $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x8
-
php实现的简单压缩英文字符串的代码
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
-
可以保证单词完整性的PHP英文字符串截取代码分享
直接上代码: /** * 完整词的截取 * * @param $str * @param $start * @param $length * * @return string */ public static function usubstr($str, $start, $length = null) { // 先正常截取一遍. $res = substr($str, $start, $length); $strlen = strlen($str); /* 接着判断头尾各6字节是否完整(不残缺)
-
java实现简单的英文文本单词翻译器功能示例
本文实例讲述了java实现简单的英文文本单词翻译器功能.分享给大家供大家参考,具体如下: 直接上代码: package fanyi; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader;
-
Python实现简单截取中文字符串的方法
本文实例讲述了Python实现简单截取中文字符串的方法.分享给大家供大家参考.具体如下: web应用难免会截取字符串的需求,Python中截取英文很容易: >>> s = 'abce' >>> s[0:3] 'abc' 但是截取utf-8的中文机会截取一半导致一些不是乱码的乱码.其实utf8截取很简单,这里记下来作为备忘 #-*- coding:utf8 -*- s = u'中文截取' s.decode('utf8')[0:3].encode('utf8') # 结果u
-
php简单压缩css样式示例
本文实例讲述了php简单压缩css样式的方法.分享给大家供大家参考,具体如下: $css = ''; //找css目录 $root = $_SERVER['DOCUMENT_ROOT'].'/css/'; //directory where the css lives $files = explode(',',$_SERVER['QUERY_STRING']); if(sizeof($files)) { foreach($files as $file) { $css.= (is_file($ro
-
简单了解python字符串前面加r,u的含义
这篇文章主要介绍了简单了解python字符串前面加r,u的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码. 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u:但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码. 建议所有编码方式采用utf-8,即在py文件开头添加: # coding: utf-8
-
php简单实现多字节字符串翻转的方法
本文实例讲述了php简单实现多字节字符串翻转的方法.分享给大家供大家参考.具体实现方法如下: <?php function mb_strev ($string, $encoding = null) { if ($encoding === null) { $encoding = mb_detect_encoding($string); } $length = mb_strlen($string, $encoding); $reversed = ''; while($length-- > 0) {
-
javascript时间戳和日期字符串相互转换代码(超简单)
javascript时间戳和日期字符串相互转换代码(超简单) <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> // 获取当前
-
c++如何分割字符串示例代码
话不多说,直接上代码 如果需要根据单一字符分割单词,直接用getline读取就好了,很简单 #include <iostream> #include <vector> #include <string> #include <sstream> using namespace std; int main() { string words; vector<string> results; getline(cin, words); istringstre
-
Android 仿今日头条简单的刷新效果实例代码
点击按钮,先自动进行下拉刷新,也可以手动刷新,刷新完后,最后就多一行数据.有四个选项卡. 前两天导师要求做一个给本科学生预定机房座位的app,出发点来自这里.做着做着遇到很多问题,都解决了.这个效果感觉还不错,整理一下. MainActivity package com.example.fragmentmytest; import android.content.DialogInterface; import android.graphics.Color; import android.os.B
随机推荐
- 每个程序员都应该学习使用Python或Ruby
- SQL2005查看死锁存储过程sp_who_lock
- 鼠标滚轮改变图片大小的示例代码
- .net后台页面统一验证是否登录
- php模拟socket一次连接,多次发送数据的实现代码
- PHP mb_convert_encoding 获取字符串编码类型实现代码
- PHP实现克鲁斯卡尔算法实例解析
- 解密ThinkPHP3.1.2版本之模板继承
- JSP 导出Excel表格的实例
- 两种设置php载入页面时编码的方法
- css写菜单:简洁注释版
- js进行表单验证实例分析
- struts2如何使用拦截器进行用户权限控制实例
- Bootstrap每天必学之js插件
- linux 清理内存命令详细介绍
- JsRender for index循环索引用法详解
- C#实现带阴历显示的日期代码
- Zend Studio 无法启动的问题解决方法
- 浅谈do {...} while (0) 在宏定义中的作用
- Retrofit+Rxjava下载文件进度的实现