От автора: приветствую вас, друзья. Чаще всего регулярные выражения используются для того, чтобы проверить строку на соответствие определенному формату. Однако нередки и случаи, когда нам необходимо удалить что-то из строки. Например, мы хотим удалить из строки все символы, кроме цифр. Или, наоборот, хотим удалить все цифры. В общем, вариантов может быть масса и в этой статье мы рассмотрим, как с помощью регулярных выражений удалить из строки ненужные символы. Приступим?
Итак, перед нами стоит простая задача: удалить из строки все, что не является символами. В регулярных выражениях языка PHP для этого предусмотрена функция preg_replace(). Функция имеет три обязательных параметра: шаблон регулярного выражения; строка или массив строк для замены; строка или массив строк, в которых необходимо произвести замену.
Всего пару строк кода и простейший шаблон регулярного выражения, чтобы удалить лишнее:
1 2 |
$str = 'string 111 !!! 222'; echo preg_replace("#[^\d]#", "", $str); |
Если же нам нужно сделать наоборот и удалить цифры, тогда достаточно немного изменить шаблон:
Точно так же мы можем удалять или заменять любые символы или группы символов. Например, довольно распространенная практическая задача — удалить лишние пробелы, т.е. если между словами стоит более одного пробела, тогда мы их удаляем, оставляя, как и положено, один. Эту задачу также решить крайне просто:
Шаблон регулярного выражения ищет два и более пробельных символа (вместо метасимвола \s, который включает в себя группу пробельных символов, вы всегда можете напечатать просто пробел) и заменяет их на один пробел, который напечатан в поле Replace.
Как видим, задача удаления и замены чего-либо в строке с помощью регулярных выражений решается крайне просто. Ну а на этом у меня сегодня все. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!
Комментарии (2)