Php 字符串压缩类

Php 字符串压缩类,php,compression,Php,Compression,我正在尝试制作一个字符串压缩系统,它可以压缩包含常用单词的字符串 但我不知道如何才能让逻辑发挥作用 我想用一个简单的单词来代替apear,把这个单词放在一个数组中,这样当我们读字符串时,我们可以看到它应该是数组中的第一个单词,或者什么的 但目前这不是我的问题 我想弄清楚我如何计算这个词出现的时间。 我真的不能使用爆炸(''$str);检查它存在多少次,因为我不仅要检查世界,还要检查一切,比如两个世界之间是否始终有一个空间,我希望它们也存储在我的数组中 所有这些都是为了压缩字符串 我不是在寻找代码

我正在尝试制作一个字符串压缩系统,它可以压缩包含常用单词的字符串

但我不知道如何才能让逻辑发挥作用

我想用一个简单的单词来代替apear,把这个单词放在一个数组中,这样当我们读字符串时,我们可以看到它应该是数组中的第一个单词,或者什么的

但目前这不是我的问题

我想弄清楚我如何计算这个词出现的时间。 我真的不能使用爆炸(''$str);检查它存在多少次,因为我不仅要检查世界,还要检查一切,比如两个世界之间是否始终有一个空间,我希望它们也存储在我的数组中

所有这些都是为了压缩字符串

我不是在寻找代码tho,我只是想找到一个好的逻辑,我可以使这项工作 任何人都知道我是如何做到这一点的


感谢您的评论/awnser

我认为唯一的方法是滑动窗口。。。希望您使用的是小字符串:)

那么,让我们假设您的字符串是

“乔伊·诺瓦克需要更多的名声:)”

我们从一个10个字符的字符串开始,在该字符串中搜索该字符串的其他实例。因此,前10个字符的字符串将是“Joey Novak”,然后我们搜索该字符串的其余部分。如果我们找到了,太棒了!我们将其替换为标记(有效)并再次搜索,如果我们不这样做,我们将转到下一个字符串,即“oey Novak”,并执行相同的操作,等等。。。当我们处理完所有10个字符的字符串后,我们将继续处理9个字符,然后继续往下处理。由于标记长度为3个字符,因此只需转到4个字符串


乔伊不能工作,因为如果两个世界之间有一个空间,它就不会计算它!事实上,这是聪明的,我不知道为什么我之前没有想到这一点,因为我已经使用了类似的方法来匹配从一个网站到另一个网站的型号任何如何感谢!这听起来可能很愚蠢,但现在我真的知道我该怎么做了。。哈哈,谢谢!