본문에 html로 작성된 소스를 가져와서 그대로 다른 글에 넣는 방법

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
본문에 html로 작성된 소스를 가져와서 그대로 다른 글에 넣는 방법

QA

본문에 html로 작성된 소스를 가져와서 그대로 다른 글에 넣는 방법

답변 3

본문

예를들어 특정 게시판에

html로 된 테이블 소스가 있다고 가정하고

각 게시물을 1~10번 번호를 정했다고 가정하겠습니다.

wr_id = 1의 본문은 A형식의 테이블 html 소스

wr_id = 2의 본문은 B형식의 테이블 html 소스...

..... 이렇게 그때 마다 서로 다른 테이블 html 소스를 만들어 둡니다.

즉 일종의 템플릿인데

저렇게 특정 테이블 html 소스를 쭉 만들어 두고

 

다른 게시판에서 1, 3, 5 이렇게 선택하면

만들어둔 1, 3, 5번 테이블 html 소스들이 자동을 본문의 html 소스로

삽입되어 원하는 테이블 표를 만들려고 합니다.

 

문제는 해당 게시글의 다른 값들은 불러와지는데 wr_content 테이블 소스는 불러오기가

안되는데 이유가 html 소스라 그런걸까요?

좋은 방법이 있는지 궁금합니다.

 

이 질문에 댓글 쓰기 :

답변 3

HTML 테이블 템플릿을 다른 게시판에 활용할 때 데이터 불러오기 문제의 주요 원인은

데이터베이스에서 wr_content 필드에 저장된 HTML 소스를 제대로 처리하지 못하거나,

HTML 소스가 저장 및 출력 과정에서 이스케이프 처리가 되지 않아

원본 형태가 깨지는 경우입니다.

 

- - 해결 방안 - - 

1) 데이터베이스에서 HTML 소스를 저장할 때

  이스케이프 처리나 불필요한 변환을 방지하도록 데이터 형식을 확인하고,

2) 불러오는 과정에서 원본 HTML이 깨지지 않도록

  HTML 이스케이프를 해제하는 출력 로직을 적용하며,

3) 테이블 템플릿을 효율적으로 관리하려면 별도의 테이블을 생성하여

  wr_id별 템플릿 HTML을 저장한 뒤, 해당 게시판에서

  wr_id 값을 기반으로 동적으로 불러와 출력하도록 구현해야 합니다.

 

이를 위해 PHP에서는

데이터베이스에서 HTML 데이터를 쿼리로 불러와 htmlspecialchars_decode를 사용하거나

템플릿 엔진을 활용해 안전하게 HTML을 출력하도록 설정할 수 있습니다.

선택한 템플릿 ID에 따라 템플릿 HTML을 동적으로 불러오고,

게시글의 본문 콘텐츠로 활용하려면 아래 코드 참고 :

// 사용자로부터 template_id가 전달된 경우 처리

if (isset($_POST['template_id'])) {
    // template_id를 정수로 변환하여 보안 강화
    $template_id = intval($_POST['template_id']);
    
    // 데이터베이스에서 템플릿 콘텐츠 가져오기
    $template_query = "SELECT template_content FROM html_templates WHERE id = {$template_id}";
    $template_result = sql_query($template_query);
    $template_row = sql_fetch_array($template_result);

    // 가져온 템플릿 콘텐츠를 본문에 삽입
    $content = htmlspecialchars_decode($template_row['template_content']);
} else {
    // template_id가 없는 경우 기본값 처리
    $content = $_POST['wr_content'];
}

// 이후 본문 콘텐츠를 저장하는 기존 로직과 연결
 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로