Как извлечь идентификатор электронной почты из поля textarea - PullRequest
3 голосов
/ 29 октября 2010

Я использую CakePHP. И у меня есть поле textarea, куда пользователи вставляют данные, я использовал плагин tinymce для форматирования текста. Я предупредил пользователей не вводить номер телефона или адрес электронной почты внутри текстовой области. Но я не хочу рисковать.

Есть ли способ извлечь номер телефона и адрес электронной почты из textarea и заменить его чем-то вроде XXXX@gmail.com ..

Я ценю любую помощь.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 29 октября 2010

Вот что мне пришло в голову, если заменить адрес электронной почты скрытым:

$str = "My e-mail is shown@gmail.com Contact me for more details";
$str = preg_replace("/([a-zA-Z0-9\._]+)(@[a-zA-Z0-9\-\.]+)/", "hidden\\2", $str);
print($str);

Регулярное выражение электронной почты не самое лучшее, но оно подходит для вашего примера. Вы можете получить более интересные регулярные выражения (адреса электронной почты и номера телефонов) на http://www.regexlib.com/ и использовать их с простым preg_replace.

1 голос
/ 29 октября 2010

Вы могли бы: $string = "blabla@blablabla.com";

$parts = explode("@",$string);

\\$parts[0] contains the local part

\\$parts[1] contains the domain.

Имейте в виду, что (хотя это не является обычным) формат, определенный в RFC 822, позволяет символу "@" появляться в кавычках. Это означает: «bl@bla"@blablabla.com технически правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...