ta opiera się na odpowiedzi Niranjan za, zakładając, że masz email wejście zamknięte w < and> znaków). Zamiast używać wyrażeń regularnych do przechwytywania adresu e-mail, tutaj otrzymuję część tekstu między znakami < i>. W przeciwnym razie używam ciągu znaków, aby uzyskać cały e-mail. Oczywiście nie dokonałem żadnej weryfikacji na adres e-mail, to będzie zależeć od twojego scenariusza.
<?php
$string = 'Ruchika <[email protected]>';
$pattern = '/<(.*?)>/i';
preg_match_all($pattern, $string, $matches);
var_dump($matches);
$email = $matches[1][0] ?? $string;
echo $email;
?>
Oto a forked demo.
Oczywiście, jeśli moje założenie nie jest poprawne, to takie podejście zakończy się niepowodzeniem. Ale w oparciu o Twój wkład myślę, że chciałeś wyodrębnić e-maile zawarte w < i> chars.
Należy użyć phps preg * funkcje, aby to zrobić. Budowanie wyrażenia regularnego, które pasuje do każdego adresu e-mail nie jest zadaniem łatwym, zobacz szczegóły w tej dyskusji: http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email -address – maxhb