Упражнения с регулярными выражениями 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>
.