전화번호가 글 제목일 때, 하이픈(-) 있는 경우와 없는 경우 표시 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

전화번호가 글 제목일 때, 하이픈(-) 있는 경우와 없는 경우 표시 정보

전화번호가 글 제목일 때, 하이픈(-) 있는 경우와 없는 경우 표시

본문

글 제목이 전화번호로 이루어져 있습니다.

검색을 하게되면 있는 번호의 경우는 표시해주지만,
없는 번호일 경우 글을 작성할 수 있게 되어있습니다.

오늘까지만해도 이 검색창에 숫자,하이픈,영어,한글 모두 입력이 가능했습니다.
그래서 통일된 형태가 존재하지 않아 검색률이 굉장히 낮았죠.

다행히 여기 게시판에 숫자만 입력이 가능하도록 하는 소스를 보고 수정을 했습니다.
http://sir.co.kr/bbs/board.php?bo_table=pl_dhtml_javascript&wr_id=750

따라서 현재부터는 오직 숫자로만 구성이 된 전화번호가 등록이 되는거죠.

예를 들면 *** 개인정보보호를 위한 휴대폰번호 노출방지 ***.
예전에는 *** 개인정보보호를 위한 휴대폰번호 노출방지 ****** 개인정보보호를 위한 휴대폰번호 노출방지 ***, *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 등 모두 가능했습니다.


1. 지금 답을 구하고 싶은 것은 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 로만 된 글 제목에 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 도 같이 표시하고 싶습니다. 예를 들어 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** / *** 개인정보보호를 위한 휴대폰번호 노출방지 ***.(순서대로) 그래서 검색을 해보니 비슷한 팁을 주셨는데 도저히 해결이 안되네요.

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=22720

추가적으로 링크의 팁 중 제게 추가적으로 필요한 번호는 15661888 과 같은 8자리 번호에 대한 구분과 10자리 혹은 11자리가 넘어가는 번호들(중국발 번호)의 구분입니다.


2. 이전까지 등록되어 있던 무분별한 방식들의 글도 수정이 불가피할 듯 합니다. *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 로만 등록된 걸 *** 개인정보보호를 위한 휴대폰번호 노출방지 ****** 개인정보보호를 위한 휴대폰번호 노출방지 *** 이렇게 보이도록 말이죠.

댓글 전체

작업은
1단계 쿼리날려서 DB의 하이픈을 몽땅 지웁니다.

2-1단계 다시 11자리수일경우 세번째에 - 일곱번째에 -을 삽입 12자리면 네번째에 - 여덟번재에 - 삽입
그럼 db는 몸땅 하이픈이 잘들어있겠죠
3-1단계 폼에서 숫자의 자리수 검사해 자동으로 하이픈 입력되게 만든다

아니면
2-2단계 리스트에서 숫자를 자동으로 하이픈이 삽입된 상태로 보이게 한다

사용자가 직접입력하는거면 위에껄로 관리자가 입력하는거면 아래껄로 하는게 좋겠네요
코드는 제가 리모컨으로 글쓰는거라 써드리기 곤란해용
update g4_write_phone set wr_subject=replace(wr_subject,"_","");
로 하이픈(-) 삭제하고

update g4_write_phone set wr_subject=replace(wr_subject," ","");
로 공백 제거하고

응용해서 (,) 모두 제거하였습니다.

감사합니다.^_^
소스중에 이게 핸드폰이 맞는지, 일반전화 번호가 맞는지 검사해주는 소스가 있습니다.

그걸 사용하시면 자동으로 -이 붙은 상태로 입력이 됩니다.(핸폰은 잘돼는데, 일반전화는 안돼는경우 가끔있습니다.)

그리고 있는 번호인지 체크하는 경우는

검색을 하는 시점에서 -를  없애고 검색을 합니다.

select replace('010-111-111', '-', ''); --> *** 개인정보보호를 위한 휴대폰번호 노출방지 ***
하이픈 넣는 방법 해결했습니다.

<?
function get_hyphen($hp)
{
  return preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp);
}
 
echo get_hyphen("$view[wr_subject]");
 
?>

다만, 15445555 와 같은 건 안 먹히네요.
15445555 같은 8자리 전화번호도 하이픈(-)이 들어간 1544-5555 와 같이 표현하는 방법 구했습니다.


<? // 전화번호 하이픈(-)
function align_tel($telNo) {
    $telNo = preg_replace('/[^\d\n]+/', '', $telNo);
    if(substr($telNo,0,1)!="0" && strlen($telNo)>8) $telNo = "0".$telNo;
    $Pn3 = substr($telNo,-4);
    if(substr($telNo,0,2)=="01") $Pn1 =  substr($telNo,0,3);
    elseif(substr($telNo,0,2)=="02") $Pn1 =  substr($telNo,0,2);
    elseif(substr($telNo,0,1)=="0") $Pn1 =  substr($telNo,0,3);
    $Pn2 = substr($telNo,strlen($Pn1),-4);
    if(!$Pn1) return $Pn2."-".$Pn3;
    else return $Pn1."-".$Pn2."-".$Pn3;
}

echo align_tel("$view[wr_subject]");
?>
전체 3 |RSS

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT