使用PHP在字符串中查找确切的值

时间:2013-06-01 21:53:03

标签: php string

当前的任务是使用PHP来检查数据是否存在

简化问题是:

我正在尝试在无组织的字符串中搜索一些可用的大小。

尺寸是 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

目前大多数问题都是通过利用空格来消除唯一变量来解决的,但当谈到(数字X数)作为短语时,它变得非常困难。

当我搜索“28”时,它也会在看到“28 X 30”时检测到 或者当我搜索包含空格的唯一数字“30”时,它仍会检测到28 X“30”

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分: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!
 }