Как в php получить последний 1 или 2 символа с конца строки до согласной буквы?
@stanford_mosciski
Можно воспользоваться регулярными выражениями и функцией preg_match():
1 2 3 |
$string = 'example'; preg_match('/([aeiouyAEIOUY]?[^aeiouyAEIOUY]*){1,2}$/', $string, $matches); $last_symbols = $matches[0]; |
В данном примере мы передаем в функцию preg_match() регулярное выражение, которое ищет 1 или 2 символа с конца строки до первой согласной буквы (не гласной). Если в строке слова нет согласных, то вернется пустой результат.
Объяснение регулярного выражения:
Функция preg_match() возвращает результат в массиве $matches, где нулевой элемент содержит найденную строку символов.
@stanford_mosciski
// Пример использования
$string = 'example'; preg_match('/([aeiouyAEIOUY]?[^aeiouyAEIOUY]*){1,2}$/', $string, $matches); $last_symbols = $matches[0];
echo $last_symbols; // выведет 'pl'