Поиск строки в php, поле поиска содержит пробел

Это мой код

<div style="display:inline-block; "> <?php $a = strtolower($criteria); if (strpos($a, 'fits models from: 11/2000') !== false) { echo 'Fits models from 2000,'; } ?> </div> 

У меня проблема с пробелом. Он находит строку, если я использую только «подходящие модели» или если я использую «11/2000», но не два вместе взятых. Мне они нужны вместе, иначе это бесполезно.

EDIT: Я не могу сделать что-то вроде этого:

 <?php $a = strtolower($criteria); if (strpos($a, 'fits models from') !== false) if (strpos($a, '11/2000') !== false) { echo 'Fits models from 2000,'; } ?> </div> 

потому что я хочу использовать его, чтобы отделить ключевые факторы от текста, который является моделью автомобиля, от остальных и выводить эту информацию. Если $ criteria говорит, что «подходит для модели с 11/2000, но подходит только модели до 06/2002», тогда она будет выводить «подходит для модели с 2000», «подходит для модели до 2000 года», «подходит для модели с 2002 года», «подходит для модели до 2002' .

Чтобы идентифицировать неизвестный персонаж:

  1. найдите строковое кодирование (вероятно, UTF-8 в вашем случае)
  2. извлечь короткую подстроку с символом
  3. разбить его на байты и отобразить в шестнадцатеричном виде
  4. глядя на таблицу кодирования, найдите, какой символ он имеет с байтом (байтами), используемым для его кодирования

пример со строкой: "a:\xe2\x80\x85b" которая выглядит как a: b но с меньшим пространством.

 $str = "a:\xe2\x80\x85b"; // I wrote \xe2\x80\x85 only to set $str and to show a working code, // but here I don't know what are the values of these bytes preg_match('~:(.*?)b~us', $str, $m); // shortest substring between : and b echo implode(' ', array_map(function ($b) { return dechex(ord($b)); }, str_split($m[1]))); // e2 80 85 

Я получаю 3 байта e2 80 85 , затем я ищу, если он представляет один или несколько символов в таблице Юникода, и я нахожу: U+2005 e2 80 85 FOUR-PER-EM SPACE

Вывод: неизвестный символ представляет собой FOUR-PER-EM SPACE (unicode point: U + 2005) и нуждается в 3 байтах e2 80 85 для кодирования в UTF-8. Поэтому я могу написать "\xe2\x80\x85" в двойной кавычки.