Буду вам очень благодарен, если вы будете сообщать здесь о багах, которые в них встретите (если встретите <!--emo&:)--><!--endemo-->) и том для каких целей вы их используете, если эта цель не явная, не относящаяся к прямому, обозначенному мною, применении.
Я буду использовать семантику PHP, т.к. писались они изначально, как раз, для этого языка, но я допускаю, что они будут работать и в других языках (например в Perl).
!!!Функция обновлена!!!
Первое регулярное выражение служит для проверки валидности e-mail адреса (точнее - это функция для проверки e-mail адреса при помощи регулярного выражения):
- Код: выделить все
// версия: 1.2
function mCheckMail ($mail) {
global $mail;
$mail= trim ($mail);
if (!$mail) return 0;
if (!preg_match('/^(?:[a-z0-9][a-z0-9_.-]*[a-z0-9])@(?:[a-z0-9][a-z0-9.-]*[a-z0-9])(?:\.(?>[a-z]{2}|com|net|org|info|name|edu|int|gov|mil|biz|museum|coop|aero))$/i',$mail)) return 0;
$mail= str_replace ('@', '%40', $mail);
$mail='mailto:'.$mail;
return 1;
};
Использовать эту функцию можно например так:
- Код: выделить все
<?php
// ...сама функция, я не стал снова её переписывать
$mail='mail@mail.com';
if (CheckMail ($mail)) $mail='<a href="'.$mail.'">электропочта</a>';
?>