Отредактировано*
Вот правильное и полное решение. Также добавлено приведение к нижнему регистру всех символов.
P.S. Не знаю, насколько грамотно я его составил, но по крайней мере работает.
function my_get_cat_probacat( $data ) {
$words = explode( ' ', $data );
$result = array_slice($words, 0, 3);
$data = implode(' ', $result);
$data = mb_strtolower ($data);
$map = array(
);
if (array_key_exists($data, $map)) {
return $map[$data];
}
if (mb_strpos($data, 'четвертый') !== false) {
return '4';
}
if (mb_strpos($data, 'третий') !== false) {
return '3';
}
if (mb_strpos($data, 'второй') !== false) {
return '2';
}
if (mb_strpos($data, 'первый') !== false) {
return '1';
}
return ( array_key_exists( $data, $map ) ) ? $map[ $data ] : $data;
}
echo my_get_cat_probacat ("Первый второй Третий четвертый");