preg_replace('#(\d.*?\s)#ui', '$1', $product->name);
. Ищем слово, которое начинается с цифры, далее всё что угодно и заканчивается пробелом. Мои варианты не работают, что бы я не пробовал. Как правильно?\b(\d[\d\w.-]*)
\b(\d[^ ]*)
preg_match('/\b(\d[^ ]*)/', $product->name, $matches);
(\d.*?)[,\s]
вот так уже не захватываем пробел и запятую.