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有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数.答案当然是有的.PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数. 复制代码 代码如下: /** * 方法库-截取字符串-[该函数作者未知] * @param string $string 字符串 * @param int $length 字符长度 * @pa
-
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返回字符串中所有单词的方法.分享给大家供大家参考.具体分析如下: 这段代码返回字符串中的所有单词,当$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 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压缩和解压缩字符串的方法.分享给大家供大家参考.具体如下: 下面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查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 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 //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
随机推荐
- perl几个文件操作例子
- Angular2里获取(input file)上传文件的内容的方法
- AngularJS中使用ngModal模态框实例
- javascript 通过封装div方式弹出div窗体
- asp.net中JavaScript数据验证实现代码
- MySQL性能优化
- ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
- Spring Boot 验证码的生成和验证详解
- php 读取mysql数据库三种方法
- shell grep 查找进程的小技巧
- JavaScript闭包实例讲解
- Nginx负载均衡详细介绍
- 如何解决在Azure上部署Sqlserver网络访问不了
- JQuery中属性过滤选择器用法实例分析
- jQuery实现的支持IE的html滑动条
- JavaScript For...In 使用方法
- 我教你学之注册表系统外观修改实例(二)
- 用C++面向对象的方式动态加载so的方法
- javaweb实现在线支付功能
- Android自定义控件实现滑动开关效果