테스트 사이트 - 개발 중인 베타 버전입니다

[정규식] 재미난 정규식 9 - 심화4

· 11년 전 · 2556 · 6
심화 4 단계 입니다.
지금까지 찾아 내는 것을 했다면 이 번은 다릅니다.
정규식으로 가져와 변환을 해야 하지요. (생각만 해도 끔찍 하지요?)

자 ~ 그럼 점선 안의 내용을 정상적인 메일주소로 변환(replace) 시키면 됩니다. 

-----------------------------------------------
abs8230LSDKF @ sir.co.kr

some.email at gmail dot com

asdf-FDSA at  ghjkl .  net

thomas at yahoo .de

josh@awesomecompanyname dot com

mona.lisa [@] domain [dot] com

stephen.spielberg [@] domain [.] com
-----------------------------------------------

도전하는 그대가 아름답다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

저는 이번 문제 쉴게요. ㅎㅎ
$subs = array(
'/\s{3,}/' => '<br />',
'/[\s\[\]]/' => '',
'/at/' => '@',
'/dot/' => '.'
);
echo preg_replace(array_keys($subs), array_values($subs), $str);
깔끔하게 잘 되었네요 ^^
추가됨

preg_replace("/^([-\w\d\.]+?)(?:\s+at\s+|\s*@\s*|\s*(?:[\[\]@]){3}\s*)([-\w\d\.]*?)\s*(?:dot|\.|(?:[\[\]dot\.]){3,5})\s*(\w+)$/m", "$1@$2.$3", $str);
추가
preg_replace("/([\w\.]+)\s*(?:@|at|\[@\])\s*(\w+)\s*(?:\.|dot|\[dot\]|\[\.\])\s*([\w\.]*)/", "$1@$2.$3", $str);

정규식문제 재미나게 잘 봤습니다. 유익한 정보네요
추가
preg_replace("/(\S)\s?(?:at|\[?@\]?)\s*(\w+)\s?(?:\[?dot|\[?\.)[\]|\s]*(\S)/", "$1@$2.$3", $str);
오랜만에 마음 맞는 분을 만난 것 같군요.

게시글 목록

번호 제목
5614
5607
5606
5591
5582
5571
5563
5552
5474
5473
5434
5432
5425
5424
5416
5415
5410
5409
5408
5391
5390
5378
5377
5376
5356
5355
5349
5348
5340
5327