с помощью какой функции можно из строки (бла бла бла ya@ya.com ldfjlsdfkfjkgjkldf) выташить только почту?
PHP: <?php $myString ="бла бла бла ya@ya.com ldfjlsdfkfjkgjkldf"; preg_match("#.*?([a-zA-Z0-9-.]+\@[a-zA-Z0-9-]+\.[a-zA-Z]{2,3}).*?#",$myString,$matches); echo $matches[1]; ?>
спс все почти так как я хотел. вот например если почта будет ya@ya.info или ya@ya.ru ? тоестьу примеру PHP: preg_match("#.*?([a-zA-Z0-9-.]+\@[a-zA-Z0-9-]+\.[a-zA-Z]{3,4}).*?#",$myString,$matches); - в нем будет норм отображаться 3-х символьные домены и 4-х симвльные а в: PHP: preg_match("#.*?([a-zA-Z0-9-.]+\@[a-zA-Z0-9-]+\.[a-zA-Z]{2,3}).*?#",$myString,$matches); 4-х символьные не будут как можно например избавиться вообще от ограничения пусть выводил только то что идет до пробела, или до следующего какого либо знака.
PHP: <?php $mail = 'admin@mail.info'; preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is', $mail, $matches); print_r($matches); /* Array ( [0] => admin@mail.info [1] => admin [2] => mail [3] => info ) */ ?>