Упражнения с регулярными выражениями PHP: удаление последнего слова из строки
Удалите последнее слово из строки
Напишите сценарий PHP, удаляющий последнее слово из строки.
Пример строки: Быстрая рыжая лиса
Ожидаемый результат: Быстрая рыжая
Пример
Попробуй сам »<?php
$str1 = 'Быстрая рыжая лиса';
echo preg_replace('/\W\w+\s*(\W*)$/iu', '$1', $str1)."\n";
?>
Синтаксис
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
Выполняет поиск в строке subject совпадений с шаблоном pattern и заменяет их на replacement. В случае, если параметр limit указан, будет произведена замена limit вхождений шаблона; в случае, если limit опущен либо равняется -1, будут заменены все вхождения шаблона.
Расшифровка к упражнению:
После ограничителя идут модификаторы "iu", которые изменяют поведение функции preg_replace. В нашем случае:
- "i" означает отключение чувствительности к регистру искомого символа
- "u" означает, что нужно включить в функции preg_replace поддержку UTF-8 кодировки. Иначе кириллица будет обрабатываться неправильно
| \W | - НЕ алфавитно-цифровой или '_' символ |
| \w+ | - слово |
| \w | - алфавитно-цифровой или '_' символ |
| \s | - любой пробельный символ |
| * | - повторяется 0 или большее число раз |
| $ | - конец строки |

Комментарии
<code>, несколько строчек кода — в теги<pre><code>...ваш код...</code></pre>.