XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

https://www.xpressengine.com/qna/22837872#comment

 

php 5.5에서 사이트를 운영했을 때 해당 링크의 댓글에 달린대로 아래 php 용법을 사용하였습니다.

 

{@
    $search = array ("'<script[^>]*?>.*?</script>'si",  // 자바 스크립트 제거
                     "'<[\/\!]*?[^<>]*?>'si",           // HTML 태그 제거
                     "'([\r\n])[\s]+'",                 // 공백 제거
                     "'&(quot|#34);'i",                 // HTML 엔티티 치환
                     "'&(amp|#38);'i",
                     "'&(lt|#60);'i",
                     "'&(gt|#62);'i",
                     "'&(nbsp|#160);'i",
                     "'&(iexcl|#161);'i",
                     "'&(cent|#162);'i",
                     "'&(pound|#163);'i",
                     "'&(copy|#169);'i",
                     "'&#(\d+);'e");                    // php로 실행 
    $replace = array ("",
                      "",
                      "\\1",
                      "\"",
                      "&",
                      "<",
                      ">",
                      " ",
                      chr(161),
                      chr(162),
                      chr(163),
                      chr(169),
                      "chr(\\1)"); 
    $text_len = preg_replace($search, $replace, $oDocument->variables['content']);
}  
{mb_strlen(preg_replace("/(&([a-zA-Z]+)\;)|([\s\n\r]+)/","",$text_len), "UTF-8");}

 

php 7로 이전한 이후로는 위 php가 작동하지 않는 걸로 보면 아무래도 상위 버전으로 올라가면서 용도가 사라진 용법이 사용된 것 같은데 구체적으로 어떤 부분을 만져야 하는지 모르겠네요. 찾아보니 preg_replace도 mb_strlen도 php 7에서 다 쓰이고요. 위의 소스가 php 7에서도 돌아가도록 수정할 수 있으면 좋겠는데... 많이 어려울까요?

  • ?
    @제은일행 2016.08.15 21:13:49
    정규식에서 e 플래그는 제거되었어요. preg_replace_callback으로 대체하시면 돼요.
  • ?
    SimpleCode 2016.08.15 22:06:21
    preg_replace_callback으로 바꾸면 되는데, XE 템플릿 문법 때문에 깔끔하게 바꾸진 못할 것 같네요.
    PHP로 callback 함수를 정의해놓고 가져다 써야할 거에요.
  • profile
    Novelic 2016.08.16 19:40:59
    제 실력이 부족해서 이해는 못 하겠지만... 댓글 감사합니다.

List of Articles
번호 제목 글쓴이 날짜
공지 답변을 확실히 받기위한 질문자 지침서 4 람보 2017.05.04
2624 메일 인증 발송횟수.. 9 우리종도 2016.08.18
2623 이미지 업로드 방법 질문 6 xelover 2016.08.18
2622 xe core 분석중, $GLOBALS['__MODULE_EXTEND__'] 변수가 뭔지 도저히 모르겠습니다.. 2 갸라 2016.08.17
2621 헤더 메타태그에 meta http-equiv 중복되는 현상 4 가브리엘조 2016.08.17
2620 Doorweb 가변형 레이아웃은 원래 이런가요? file sar**** 2016.08.17
2619 XE로 만들었는데 첨부한 이미지들이 핀터레스트에 나오지 않습니다. ㅠ 2 file Overachiever 2016.08.17
2618 CKEditor 모바일에서 툴바 확장 8 file sar**** 2016.08.17
2617 콘텐츠 위젯 스킨 (웹툰형식) 목록수 질문드립니다 ... 하 ... 9 file 아즈냥 2016.08.16
2616 본문 내용에 이미지들을 슬라이드로 만들어주는 모듈같은거 있을까요? 8 Overachiever 2016.08.16
2615 스케치북 쓰기 버튼 문의드립니다. 11 메비우스의닭 2016.08.16
2614 위젯이 글쓸때마다 계속 밀립니다. 11 file 아즈냥 2016.08.16
2613 회원 삼진아웃제 모듈 있나요? 3 file 스트릿 2016.08.16
2612 비밀번호나 아이디를 잃어버린 회원 있는 경우 2 스트릿 2016.08.16
2611 reCAPTCHA 2.0 애드온 사용시 버그같은데 한번봐주시겠어요? file 스마일 2016.08.16
2610 reCAPTCHA 2.0 애드온 구매해서 적용했는데 잘못된 요청이라고 뜹니다 1 file 스마일 2016.08.16
2609 글쓰기 버튼을 누르면 글은 등록되지만 페이지가 글 목록으로 돌아가지 않습니다. 3 빱빱 2016.08.16
2608 xe 모바일 자동로그인 1 XE러버 2016.08.16
2607 플랫모바일 삭제하고 싶은데 어딘지 질문합니다 1 file kimroy 2016.08.15
» 다음 php 용법이 php 7에서는 사라진 용법인가요? 3 Novelic 2016.08.15
2605 게시판 삭제가 안됩니다..도와주세요!! 2 아막 2016.08.15
Board Pagination Prev 1 ... 118 119 120 121 122 123 124 125 126 127 ... 254 Next
/ 254
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...