所以,我有一個有趣的問題:我有一個字符串,並且在大多數情況下我知道會發生什麼:PHP正則表達式來過濾掉垃圾
http://www.someurl.com/st= ????????
除了在這種情況下,?的大寫字母或數字。問題是,字符串中有垃圾混入:字符串被分解成5或6個部分,並且中間有很多垃圾:不可打印的字符,外來字符以及普通的舊正常字符。總之,看起來像這樣的東西:Nyþ=mî;'MÝ×nüqÏ
通常最後8個字符(?)在最後一起放在一起,所以目前我只需要PHP抓取最後8個字符,希望最好。偶爾,這不起作用,所以我需要一個更強大的解決方案。
該問題在技術上無法解決,但我認爲最好的解決方案是從字符串的末尾抓取字符,而它們是大寫或數字。如果我得到8個或更多,則認爲是正確的。否則,找到st =並且抓取字符數量儘可能多,以填充8個字符的配額。有沒有一個正則表達式的方式來做到這一點,或者我需要捲起袖子去嵌套循環風格?
更新:
澄清一些混亂,我得到一個輸入字符串是這樣的:
[garbage]http:/[garbage]/somewe[garbage]bsite.co[garbage]m/something=[garbage]????????
除了垃圾是在字符串中的不可預知的位置(除了到底是從來沒有垃圾),並且具有不可預知的長度(至少,我已經能夠在兩者中找到模式)。通常這些都是在一起,因此我只抓取最後的8個字符,但有時它們不會導致一些丟失數據並返回垃圾: - \
這是什麼意思:「通常最後8個字符(?)在一起在最後」? – Franz 2009-11-18 23:00:59
我可以問你爲什麼或如何進入這樣一個有問題的情況?誰把垃圾放在那裏,爲什麼? – 2011-04-28 13:56:49