역슬래시(\)를 실체값(=엔티티)코드로 변경 방법?
본문
<?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'];
// 각 게시판의 역슬래시(\)를 실체값(\)으로 치환
$sql = "UPDATE {$write_table} SET wr_content = REPLACE(wr_content, '\\', '\') WHERE wr_content LIKE '%\\%'";
echo $sql."<br>";
}
echo "모든 게시판 내용 업데이트 완료.";
코드는 맞게 짠 것 같은데 희한하게 변경이 안 되네요. ㅜㅜ
그누보드 잘 모르는 ChatGPT랑 용써봤는데 해결이 안 되네요.
자유게시판과 갤러리 게시판의 에디터를 각각 체에디터 선택 후 저장하니까, 역슬래시가 실체값으로 변환 안 되고 바로 게시판으로 저장되더라구요. 이미 저장된 역슬래시가 실체값으로 안 바뀌어요.
!-->
답변 2
DB 에 있는 데이터는 변경하시면 안되고,
출력할때 변경을 해야 합니다.
echo stripslashes($row2['wr_content']);
<?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'];
// 각 게시판의 역슬래시(\)를 실체값(\)으로 치환
$update_sql = "UPDATE {$write_table} SET wr_content = REPLACE(wr_content, '\\\\', '\') WHERE wr_content LIKE '%\\\\%'";
// 쿼리 실행
if (sql_query($update_sql)) {
echo "업데이트 성공: {$write_table}<br>";
} else {
echo "업데이트 실패: {$write_table} - " . sql_error(). "<br>";
}
}
echo "모든 게시판 내용 업데이트 완료.";
?>
답변을 작성하시기 전에 로그인 해주세요.