2017-04-11 57 views
-2

如何匹配兩個字符串而不考慮PHP中的空格?如何匹配兩個字符串而不考慮php中的空格?

例如: 如何搜索32GB在下面的字符串?

$str='LeEco Le 2 (Grey, 32 GB)(3 GB RAM)'; 
+0

爲什麼標題是關於比較字符串? – RomanPerekhrest

+1

@RomanPerekhrest:因爲OP想檢查字符串是否包含'32GB',並且預期的結果是真的。一種「空間不敏感」的搜索。但是,這個問題還不是很清楚。 –

+0

@WiktorStribiżew,沒有比較,它被稱爲匹配''LeEco樂2(灰色,32 GB)(3 GB RAM)''對'32GB'不考慮空間 – RomanPerekhrest

回答

0
$result = preg_match("/(\d+)(\s*)GB/", $str); 

如果你想找到「GB」以及「國標」,增加了「我」之後的第二斜線修改。

3

下面的方法使用了一種「模糊搜索」(消除空格並轉換成小寫的字符串):

<?php 

$str = 'LeEco Le 2 (Grey, 32 GB)(3 GB RAM)'; 

$regex = '~\d+\s*GB~'; 

$needle = '32gb'; 

if (preg_match($regex, $str, $match)) { 
    $match = strtolower(preg_replace('~\s+~', '', $match[0])); 
    if ($match == $needle) { 
     echo "Found"; 
    } 
} 
+0

嗨,我不確定只有字符串GB,也RAM等... $ regex ='〜\ d + \ s * GB〜'; – akbanu

+0

@ user6559729:然後進一步澄清你想要的。 – Jan

+0

謝謝您的回覆。如何刪除數字和文本之間的空格:(32 GB,23 GOLD)。我期望的結果是:32GB,23GOLD像這樣($ regex ='〜\ d + \ s * GB〜') – akbanu

相關問題