У меня есть шаблон электронной почты для регулярных выражений, и я хотел бы удалить из строки все символы, кроме сопоставленных с шаблоном, вкратце, я хочу очистить строку ...
Я не гуру регулярных выражений, так чего мне не хватает в регулярных выражениях?
<?php
$pattern = "/^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i";
$email = 'contact<>@domain.com'; // wrong email
$sanitized_email = preg_replace($pattern, NULL, $email);
echo $sanitized_email; // Should be contact@domain.com
?>
Шаблон взят из: http://fightingforalostcause.net/misc/2006/compare-email-regex.php (самый первый ...)