2014-01-27 142 views
0

我想製作一個字符串壓縮系統,它可以用經常使用的字來壓縮字符串。字符串壓縮類

但我不知道如何讓邏輯工作。

我想通過一個簡單的< 1>來替換世界上的apear,然後把這個單詞放在一個數組中,這樣當我們讀取字符串時,我們可以看到數組中的第一個單詞應該是第一個單詞或者一些什麼。

但這不是我目前的問題。

我試圖弄清楚我該如何計算這個詞出現的時間。 我真的不能使用爆炸('',$ str);並檢查它有多少時間,因爲我想要檢查的不僅是世界,而且還有一切,比如兩個世界之間是否有空間,我想讓它們也存儲在我的陣列中。

所有這些在壓縮字符串的想法。

我不是在尋找代碼壽,我只是試圖找到一個很好的邏輯,我可以使這項工作 任何人都有我如何能實現這一點的想法。

感謝您的任何意見/ awnser

+0

[str_word_count()](http://www.php.net/manual/en/function.str-word-count.php) –

+0

無法工作,因爲如果存在兩者之間的空間中它不會計算它 –

回答

0

我認爲要做到這一點的唯一方法是一個滑動窗口...希望你使用的小弦:)

所以,讓我們說你的字符串了。

「喬伊·諾瓦克需要更多的聲望:)」

我們先從10字符串,並搜索字符串的其他實例的字符串。所以前10個字符串是「Joey Novak」,然後我們搜索字符串的其餘部分。如果我們找到一個,太棒了!我們用標記替換它(< 1>作品。)並再次搜索,如果我們不這樣做,我們繼續下一個字符串,這將是「ooy Novak」並且執行相同的操作等。當我們完成時所有10個字符的字符串,我們移動到9個字符,並努力下來。由於標記長度爲3個字符,因此只需要輸入4個字符串。

喬伊

+0

!實際上這很聰明,我不知道爲什麼我沒有想到這一點,因爲我已經使用了類似的方法將Model Number從一個站點匹配到另一個站點。這聽起來很愚蠢,但現在我對如何做事情有了非常好的想法..哈哈謝謝! –