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

정규식은 어려워... 채택완료

TripleBlue 3년 전 조회 1,910

안녕하세요.

정규식에 막혀서 문의해봅니다.

멘션기능중에 @가 붙으면 알림이 가도록 닉이나 아이디를 뽑고 있는데요

@아이디1  @아이디2   이메일주소@도메인   @아이디3

일경우 이메일 때문에 버그가 나네요

기존사용하던 정규식은  $pattern = '/[@]+(.[_0-9a-zA-Z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣]+)/';  입니다.

어떻게 풀어야 할지 정규식에 약한 새내기가 도움요청해 봅니다 

 

 

 

 

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

답변 3개

채택된 답변
+20 포인트

 $pattern = '/[^_0-9a-zA-Z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣][@]+(.[_0-9a-zA-Z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣]+)/';  

이렇게 하면 되지 않을까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

T
TripleBlue
3년 전
답변 감사합니다
저렇게 해보니 잘되는데 첫번째 @멘션은 체크하지 못하더라구요 ^^
엑스엠엘
3년 전
맨션 전체 문자열 앞에 공백 하나 추가해서 검사하면 되겠죠. ^^

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

T
3년 전

로그인 후 평가할 수 있습니다

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

</p>

<p><?php

$aaa = "@아이디1  @아이디2   이메일주소@도메인   @아이디3";

$aaa = explode(" ", $aaa);

for ($i = 0; $i < count($aaa); $i++) {</p>

<p>    if (substr($aaa[$i], 0, 1) == "@") $bbb .= $aaa[$i]." ";</p>

<p>}

echo $bbb;

?></p>

<p>

 

$bbb 를 적용하면 되겠죠.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

T
TripleBlue
3년 전
답변감사합니다.
여러가지 형태의 멘션이 있을수 있기에 공백이 없을수도 있어서요 ^^;

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

답변을 작성하려면 로그인이 필요합니다.

로그인