url 체크

url 체크

QA

url 체크

본문

onclick='open_in_frame("<?=$write[wr_71]?>")'

이벤트인데요

 

wr_71에 url이 들어있습니다.

이 url을 아이프레임으로 띄우는데

아이프레임이 안먹히는 특정사이트가 있습니다.

 

그래서 url을 체크한 뒤에 예를 들어 abc.com이면

 onclick='open_in_frame 이 이벤트가 작동안하게 하고

window.open이 작동하게 하고 싶습니다.

고수님 도움을 기다려봅니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 1

<?php

 

$notopenurl = array("abc.com", "def.com");

$open = " onclick='open_in_frame(\"".$write[wr_71]."\")' ";

foreach ($notopenurl as $k => $v) {

    if (strrpos($write['wr_71'], $v) !== false) {

        $open = "";

    } 

}

?>

 // onclick='open_in_frame("<?=$write[wr_71]?>")' 을 적용할 자리에

<?php echo $open;?>   // 이부분 적용

고맙습니다~ 늘 느끼는 거지만 모르시는게 없으세요. 잘됩니다,
url넣은 필드가 71부터 <?=$write[wr_169]?> 까지 7씩증가하여 15개가 있는데
이 15개 필드중에 어디에서든 abc.com이 올 수 있어서
15개 필드에 모두 적용해두어야 하는데
이런때는 어떻게 해야할까요?
죄송하지만 조금 더 가르쳐주시면 고맙겠습니다.
안그러면 위코드를 15개 만들어야 해서요,,ㅋ


별말씀을요..
저도 늘 느끼는것이지만

질문하실때 여분필드를 왜그렇게 많이 사용하시는지 궁금합니다.

테이블을 하나더 두고 처리하는게 더 효율적일텐데요
특히나 중복되는 정보를 관리하는것은,
별도의 테이블로 패턴을 만들어서 관리하는게 좋습니다.

여기서 재설계를 해드릴수는 없는 것 같고

71부터 169 까지
7씩 증가하..
$open = "";
for ($i = 71; $i <= 169; $i+=7) {
    $open = " onclick='open_in_frame(\"".$write['wr_'.$i]."\")' ";
    if (strrpos($write['wr_'.$i], $v) !== false) {
        $open = "";
    }
  // 작동시킬영역이 들어갈 코드..
  // 반복이니 이쯤에서 넣어야 뭔가를 처리하겠네요

}

이 방법은 문의하신 단순한 방법의 처리이고

더 효율적인건

URL 필드일때 함수로 처리하는게 더 좋습니다.

그보다 더 좋은건

설계를 다시하는거죠

답변을 작성하시기 전에 로그인 해주세요.
전체 14,968
QA 내용 검색
filter #php ×

회원로그인

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