Intereting Posts
Удалить раздел информации о заказе из шаблона электронной почты в woocommerce jquery ajax call empty querystring Как правильно установить каталог в homestead-laravel? Laravel 4 не может запускать все RAW-запросы Поиск многомерного массива с использованием регулярных выражений в PHP и возвращаемых ключах Как я могу пометить шаблон для редактирования или добавить узел для определенного типа контента? WordPress: как добавить запятые в эту функцию get_the_category PHP ICONV glibc для libiconv на CentOS 5.5 autocomplete показывает все записи, не делает никакого поиска Вспомогательный массив в массиве PHP как автоматически копировать весь каталог в виде эскизов, используя phpthumb (или некоторую другую библиотеку) Увеличение таймаута по умолчанию для приложения PHP IIS 7 / PHP 5.3.6 Разрешения, разрешенные при доступе к сетевому файлу Обработка исключений с помощью get_meta_tags () & get_headers ()? атрибут объекта php с точкой в ​​имени

Как удалить адреса электронной почты и ссылки из строки в PHP?

Мне нужно удалить все адреса электронной почты и ссылки из строки и заменить их на «[удалено]», и я немного потерял, как это сделать.
Может ли кто-нибудь помочь мне в этом?
Благодарю.

Related of "Как удалить адреса электронной почты и ссылки из строки в PHP?"

Для этого вы можете использовать preg_replace.

для писем:

$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/"; $replacement = "[removed]"; preg_replace($pattern, $replacement, $string); 

для URL:

 $pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i"; $replacement = "[removed]"; preg_replace($pattern, $replacement, $string); 

Ресурсы

Запись в PHP вручную: http://php.net/manual/en/function.preg-replace.php

Кредит, на который должен быть получен кредит: регулярное выражение электронной почты, взятое из man-страницы preg_match, и URL-адрес регулярного выражения, взятый из: http://www.weberdev.com/get_example-4227.html

Попробуй это:

 $patterns = array('<[\w.]+@[\w.]+>', '<\w{3,6}:(?:(?://)|(?:\\\\))[^\s]+>'); $matches = array('[email removed]', '[link removed]'); $newString = preg_replace($patterns, $matches, $stringToBeMatched); 

Примечание. Вы можете передать массив шаблонов и совпадений в preg_replace вместо того, чтобы запускать его дважды.

Ответ, который я собирался выполнить, был удален. Он связан с статьей журнала Linux. Подтвердите адрес электронной почты с помощью PHP, правильный путь, который указывает, что не так с почти каждым регулярным выражением электронной почты, которое предлагает любой.

Диапазон действительных форм адреса электронной почты намного шире, чем думает большинство людей.

Мой ответ – это вариант Josiah's /[^ /[^@\s]*@[^@\s]*\.[^@\s]*/ s]* /[^@\s]*@[^@\s]*\.[^@\s]*/ s]*\ .[^ /[^@\s]*@[^@\s]*\.[^@\s]*/ s] /[^@\s]*@[^@\s]*\.[^@\s]*/ для электронных писем, который отлично работает, но также соответствует любому puctuation после самого адреса электронной почты: демо 1

Адаптируйте регулярное выражение следующим образом: /[^@\s]*@[^@\s\.]*\.[^@\s\.,!?]*/ чтобы исключить . , ! и ? : demo 2