Как удалить окончание слова
Гость | 15 марта 2017, 15:55 | 1
Есть фраза. Как мне удалить из её слов окончания?
Допустим, фраза: «большое яблоко». На выходе нужно иметь: «больш яблок». Это пригодилось бы для поиска внутри сайта
PHP
Есть фраза. Как мне удалить из её слов окончания?
Допустим, фраза: «большое яблоко». На выходе нужно иметь: «больш яблок». Это пригодилось бы для поиска внутри сайта
Для отправки комментария вам необходимо авторизоваться.
Решения
Как вариант, можно воспользоваться substr и strlen
$text = 'Большое яблоко'; $postfixes = array('о', 'ое'); // Массив окончаний через запятую // Можно получить из списка с помощью explode https://php.net/explode foreach ( $postfixes as $postfix ) { $postfix_len = strlen( $postfix ); // Длина окончания $text_len = strlen( $text ); // Длина фразы $x = $text_len - $postfix_len; // Корень слова (слово без окончания) if ( substr( $text, $x, $postfix_len ) == $postfix ) { // Если окончание фразы совпадает с одним из предустановленных окончаний $text = substr( $text, 0, $x ); // - вырезаем его } } print( $text ); exit;