역슬래시(\)를 실체값(=엔티티)코드로 변경 방법?

역슬래시(\)를 실체값(=엔티티)코드로 변경 방법?

QA

역슬래시(\)를 실체값(=엔티티)코드로 변경 방법?

답변 2

본문


<?php
include_once('./_common.php');
// 게시판ID 추출
$sql = "SELECT bo_table FROM {$g5['board_table']}";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
    
    // 게시판테이블명
    $write_table = $g5['write_prefix'] . $row['bo_table']; 
    // 각 게시판의 역슬래시(\)를 실체값(&bsol;)으로 치환
    $sql = "UPDATE {$write_table} SET wr_content = REPLACE(wr_content, '\\', '&bsol;') WHERE wr_content LIKE '%\\%'";
    echo $sql."<br>";
}
echo "모든 게시판 내용 업데이트 완료.";


코드는 맞게 짠 것 같은데 희한하게 변경이 안 되네요. ㅜㅜ
그누보드 잘 모르는 ChatGPT랑 용써봤는데 해결이 안 되네요.

자유게시판과 갤러리 게시판의 에디터를 각각 체에디터 선택 후 저장하니까, 역슬래시가 실체값으로 변환 안 되고 바로 게시판으로 저장되더라구요. 이미 저장된 역슬래시가 실체값으로 안 바뀌어요.

 

이 질문에 댓글 쓰기 :

답변 2

DB 에 있는 데이터는 변경하시면 안되고,

출력할때 변경을 해야 합니다.

 echo stripslashes($row2['wr_content']); 

DB에도 실체값으로 넣고, 이미 들어간 것은 실체값으로 변경하려구요.
코딩 매뉴얼에 들어간 코드라 제거를 하면 안 되는 상황입니다.
구글 웹마스터가 역슬래시 바로 들어간 포스팅을 색인거부하더라구요.


<?php
include_once('./_common.php');
// 게시판ID 추출
$sql = "SELECT bo_table FROM {$g5['board_table']}";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
    
    // 게시판테이블명
    $write_table = $g5['write_prefix'] . $row['bo_table']; 
    
    // 각 게시판의 역슬래시(\)를 실체값(&bsol;)으로 치환
    $update_sql = "UPDATE {$write_table} SET wr_content = REPLACE(wr_content, '\\\\', '&bsol;') WHERE wr_content LIKE '%\\\\%'";
    
    // 쿼리 실행
    if (sql_query($update_sql)) {
        echo "업데이트 성공: {$write_table}<br>";
    } else {
        echo "업데이트 실패: {$write_table} - " . sql_error(). "<br>";
    }
}
echo "모든 게시판 내용 업데이트 완료.";
?>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 60,977
© SIRSOFT
현재 페이지 제일 처음으로