BOARD

문제 해결

PHP 버전 업그레이드 시 그누보드 pregreplace /e 모디파이어 deprecated 에러 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 6회 작성일 26-10-07 15:00

본문

PHP 버전 업그레이드 시 그누보드 preg_replace /e 모디파이어 deprecated 에러 해결 방법

서버 변경 및 PHP 버전 업그레이드 후 그누보드 게시판에서 발생하는 preg_replace() /e 모디파이어 deprecated 에러의 원인을 파악하고, 구체적인 코드 수정 방법을 통해 문제를 해결하는 도움을 얻을 수 있습니다.

preg_replace /e 모디파이어 deprecated 에러 해결 방법

서버 이전 후 PHP 버전 차이로 인해 게시판 본문 페이지 등에서 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 에러가 발생하는 경우, bbs/view.php 파일의 코드를 수정하여 해결할 수 있습니다.

수정 대상 파일 및 위치

  • 수정 파일: bbs/view.php

코드 수정 방법

  1. 기존에 /e 모디파이어가 포함된 아래 코드를 주석 처리하거나 삭제합니다.
    $view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);
  2. 대신 conv_rich_content 함수를 추가하고 preg_replace_callback 함수를 사용하는 아래 코드로 변경합니다.
    function conv_rich_content($matches) {
    global $view;
    return view_image($view, $matches[1], $matches[2]);
    }
    $view['rich_content'] = preg_replace_callback("/{이미지\:([0-9]+)[:]?([^}]*)}/i", "conv_rich_content", $view['content']);

다른 파일이나 스킨 등에서도 유사한 에러가 발생한다면 해당 참고 내용을 바탕으로 동일하게 preg_replace_callback 구조로 수정하여 적용할 수 있습니다.

PHP 버전 업그레이드 시 preg_replace /e 모디파이어 에러 해결 방법

서버 변경 후 PHP 버전 차이로 인해 게시판 본문 페이지 등에서 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 에러가 발생하는 경우, 지원이 중단된 /e 모디파이어를 preg_replace_callback 함수로 수정하여 해결할 수 있습니다.

수정 파일 및 위치

  • 수정 파일: bbs/view.php

코드 수정 방법

  1. 기존의 /e 모디파이어가 포함된 preg_replace 코드를 주석 처리하거나 삭제합니다.
  2. conv_rich_content 함수를 추가하고 preg_replace_callback 함수를 사용하는 코드로 변경합니다.
// 기존 코드 예시 (주석 처리 또는 삭제)
// $view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);

// 추가 및 변경할 코드
function conv_rich_content($matches) {
 global $view;
 return view_image($view, $matches[1], $matches[2]);
}
$view['rich_content'] = preg_replace_callback("/{이미지\:([0-9]+)[:]?([^}]*)}/i", "conv_rich_content", $view['content']);

다른 파일이나 스킨 등 다른 곳에서도 동일한 에러가 발생한다면 위 사례를 참고하여 preg_replace_callback 구조로 수정하면 됩니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.