сравнить часть строки, используя php

Я хочу проверить, существует ли ключевое слово «cli» или «ent» или «cl» в строке «клиент» и регистр нечувствителен к регистру. Я использовал функцию preg_match с шаблоном '\ bclient \ b'. но он не показывает правильный результат. Совпадение не обнаружено.

Пожалуйста, помогите

благодаря

Я бы не использовал регулярные выражения для этого, это дополнительные накладные расходы и сложность, где достаточно регулярной строковой функции. Почему бы не пойти с stripos () вместо этого?

$str = 'client'; $terms = array('cli','ent','cl'); foreach($terms as $t) { if (stripos($str,$t) !== false) { echo "$t exists in $str"; break; } } 

Попробуйте шаблон /cli?|ent/

Объяснение:

cli соответствует первой части. I? делает i необязательным в поиске.

| означает или, что соответствует cli , или ent .

\b – граница слова, он не будет соответствовать cli client , вам нужно удалить \b