z

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

심화 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);
오랜만에 마음 맞는 분을 만난 것 같군요.
댓글을 작성하시려면 로그인이 필요합니다.

퀴즈게시판

1,337건

답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다. 채택은 '좋아요'와 같습니다.

+
제목 글쓴이 날짜 조회
14-01-06 조회 2,581
14-01-06 조회 2,932
13-12-30 조회 3,089
13-12-30 조회 3,492
13-12-28 조회 3,594
13-12-28 조회 3,345
13-12-28 조회 3,473
13-12-24 조회 3,645
13-12-24 조회 4,615
13-12-19 조회 3,204
13-12-19 조회 3,022
13-12-12 조회 2,863
13-12-11 조회 2,822
13-12-11 조회 3,008
13-12-09 조회 3,249
13-12-09 조회 3,109
13-12-09 조회 2,627
13-12-09 조회 2,824
13-12-09 조회 2,980
13-12-03 조회 1.3만
13-11-29 조회 5,951
13-11-28 조회 4,758
13-10-18 조회 4,022
13-10-04 조회 3,292
13-09-12 조회 1만
13-08-21 조회 3,787
13-08-12 조회 3,203
13-08-11 조회 4,652
13-08-08 조회 4,342
13-07-22 조회 4,609