сопоставление с образцом — Как найти конкретное число в строке?

Я управляю партнерским сайтом кроссовок и пытаюсь сопоставить импортированные названия продуктов с существующими моделями кроссовок по ключевому слову. Из-за множества форматов мне иногда приходится использовать число, а числа не совпадают с кодом, который я использую. Я перепробовал все разные php str-функции, но ни одна из них не похожа ни на числа, ни на строки.

 $models = array(
'106' => 'Vans 106 Vulcanized',
'alomar' => 'Vans Alomar',
'atwood' => 'Vans Atwood',
'authentic' => 'Vans Authentic',
// List goes on...
);

foreach ( $models as $model_keyword => $model_name ) {

if ( stristr( $product_name, $model_keyword ) !== false ) {

return $model_name;

}

}

Как видите, я проверяю название продукта для каждого из ключевых слов и, когда оно найдено, возвращает название модели. Работает для каждой строки, которая содержит буквы или буквы и цифры, а не только цифры, как первый элемент в моем массиве.

Любые идеи о том, как сделать это правильно?

0

Решение

использование strpos вместо.

<?php

$models = array(
'106' => 'Vans 106 Vulcanized',
'alomar' => 'Vans Alomar',
'atwood' => 'Vans Atwood',
'authentic' => 'Vans Authentic'
// List goes on...
);

foreach ($models as $key => $name) {
if (strpos($name, (string)$key) !== false)
return $name;
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]