Как удалить не буквенно-цифровые символы в PHP?
Не буквенно-цифровые символы можно удалить с помощью функции preg_replace (). Эта функция выполняет поиск и замену регулярного выражения. Функция preg_replace () ищет строку, указанную шаблоном, и заменяет шаблон заменой, если найдена.
Примеры:
Ввод:! @ GeeksforGeeks2018? Выход: GeeksforGeeks2018 Сырьё: Вундеркинды для гиков Вывод: GeeksForGeeks
Синтаксис:
int preg_match ($ шаблон, $ replace_string, $ исходная_строка)
Параметр: эта функция принимает три параметра, как указано выше и описано ниже:
- $ pattern: образец, который ищется в строке. Это должно быть регулярное выражение.
- $ replace_string: Соответствующий шаблон заменяется строкой replace_string.
- $ original_string: это исходная строка, в которой выполняется поиск и замена.
Возвращаемое значение:
- После того, как замена произошла, будет возвращена измененная строка.
- Если совпадений не найдено, исходная строка остается неизменной.
Метод 1: регулярное выражение '/ [ W] /' соответствует всем не буквенно-цифровым символам и заменяет их на '' (пустая строка).
$ str = preg_replace ('/ [ W] /', '', $ str);
В регулярном выражении W - это метасимвол, которому предшествует обратная косая черта ( W), которая придает комбинации особое значение. Это означает комбинацию не буквенно-цифровых символов.
Example:
<?php // string containing non-alphanumeric characters $str = "!@GeeksforGeeks2018?" ; // preg_replace function to remove the // non-alphanumeric characters $str = preg_replace( "/[W]/" , "" , $str ); // print the string echo ( $str ); ?> |
GeeksforGeeks2018
Метод 2: Регулярное выражение '/ [^ a-z0-9] / i' соответствует всем не буквенно-цифровым символам и заменяет их на '' (пустая строка).
$ str = preg_replace ('/ [^ a-z0-9] / i', '', $ str);
В регулярном выражении:
- i: используется для нечувствительности к регистру.
- az: используется для всех строчных букв, не нужно указывать AZ, потому что i (без учета регистра) уже упоминается в инструкции.
- 0-9: используется для сопоставления всех цифр.
Example:
<?php // string containing non-alphanumeric characters $str = "!@GeeksforGeeks2018?" ; // preg_replace function to remove the // non-alphanumeric characters $str = preg_replace( "/[^a-z0-9]/i" , "" , $str ); // print the string echo ( $str ); ?> |
GeeksforGeeks2018