2013-06-01 66 views
0

手頭的當前任務是用PHP來檢查數據是否存在使用PHP在字符串中找到確切值

使事情短的問題是:

我試圖尋找一些可用的大小在一個無組織的字符串中。

尺寸是 SM/MM/LL/XL XS SML XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32

目前大多數問題通過利用空格到disgtinush獨特的可變解決,但是當涉及(數字X號)作爲一個短語時,它變得非常困難。

,當我搜索「28」,它還能檢測作爲發現透視時,「28×30」 或當我搜索了獨特的數字「30」與空格在內,它仍然檢測到28 X「30」

有沒有解決這個問題的方法?

回答

5

你可以做的是使字符串更容易通過首先將在nnn X nnn串並從中去掉空格來處理:

//BEFORE: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32 
//AFTER: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28X30 28X32 
$sizes=preg_replace('/(\d+) X (\d+)/', '$1X$2', $sizes); 

現在你可以爆炸的空間串

$sizeArray=explode(' ', $sizes); 

使用數組中的所有不同大小,可以使用in_array來查找特定大小的代碼。

//we want to find this 
$searchFor='28 X 30'; 

//our codes no longer have spaces... 
$searchFor=str_replace(' ', '', $searchFor); 
if (in_array($searchFor, $sizeArray)) { 
     //great! 
} 
+0

非常感謝! – Bigs

相關問題