如何匹配兩個字符串而不考慮PHP
中的空格?如何匹配兩個字符串而不考慮php中的空格?
例如: 如何搜索32GB在下面的字符串?
$str='LeEco Le 2 (Grey, 32 GB)(3 GB RAM)';
如何匹配兩個字符串而不考慮PHP
中的空格?如何匹配兩個字符串而不考慮php中的空格?
例如: 如何搜索32GB在下面的字符串?
$str='LeEco Le 2 (Grey, 32 GB)(3 GB RAM)';
$result = preg_match("/(\d+)(\s*)GB/", $str);
如果你想找到「GB」以及「國標」,增加了「我」之後的第二斜線修改。
下面的方法使用了一種「模糊搜索」(消除空格並轉換成小寫的字符串):
<?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";
}
}
爲什麼標題是關於比較字符串? – RomanPerekhrest
@RomanPerekhrest:因爲OP想檢查字符串是否包含'32GB',並且預期的結果是真的。一種「空間不敏感」的搜索。但是,這個問題還不是很清楚。 –
@WiktorStribiżew,沒有比較,它被稱爲匹配''LeEco樂2(灰色,32 GB)(3 GB RAM)''對'32GB'不考慮空間 – RomanPerekhrest