Как корректно проверять строку?

Названия товара формируются в контроллере как "название" + "артикул". В названиях некоторых товаров уже есть артикул, поэтому есть проверка на артикул во избежание дублей в названии
$heading_title = $product_info['name'];

if ($product_info['sku'] && mb_stripos(trim($product_info['name']), trim($product_info['sku'])) === false) {
    $heading_title .= ' ' . $product_info['sku'];
}

Но иногда название "Диван Калифорния ЛС-037", а артикул " ЛС-037 Калифорния" и соответственно проверка не работает и название генерируется как "Диван Калифорния ЛС-037 ЛС-037 Калифорния". Как быть в таких случаях? Заранее спасибо
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Алгоритм шинглов, например

Или, как вариант - делаем обоим строкам trim, разбиваем по пробелам, куски складываем в один массив, убираем дубликаты, склеиваем через пробел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы