2017-04-11 59 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

相关问题