테스트 사이트 - 개발 중인 베타 버전입니다

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

sinbi 1년 전 조회 7,764

</p>

<p><?php

include_once('./_common.php');</p>

<p>// 게시판ID 추출

$sql = "SELECT bo_table FROM {$g5['board_table']}";

$result = sql_query($sql);</p>

<p>while ($row = sql_fetch_array($result)) {

    

    // 게시판테이블명

    $write_table = $g5['write_prefix'] . $row['bo_table']; </p>

<p>    // 각 게시판의 역슬래시(\)를 실체값(&bsol;)으로 치환

    $sql = "UPDATE {$write_table} SET wr_content = REPLACE(wr_content, '\\', '&bsol;') WHERE wr_content LIKE '%\\%'";

    echo $sql."
";</p>

<p>}

echo "모든 게시판 내용 업데이트 완료.";


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

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

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
1년 전

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
sinbi
1년 전
DB에도 실체값으로 넣고, 이미 들어간 것은 실체값으로 변경하려구요.
코딩 매뉴얼에 들어간 코드라 제거를 하면 안 되는 상황입니다.
구글 웹마스터가 역슬래시 바로 들어간 포스팅을 색인거부하더라구요.
s
sinbi
1년 전
조언 감사합니다. 그냥 출력단에서 변형했습니다.

댓글을 작성하려면 로그인이 필요합니다.

꽁치입니다

</p>

<p><?php

include_once('./_common.php');</p>

<p>// 게시판ID 추출

$sql = "SELECT bo_table FROM {$g5['board_table']}";

$result = sql_query($sql);</p>

<p>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}
";

    } else {

        echo "업데이트 실패: {$write_table} - " . sql_error(). "
";

    }

}</p>

<p>echo "모든 게시판 내용 업데이트 완료.";

?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
1년 전
업데이트는 성공으로 나오는데, 정작 바뀌진 않네요.
테이블에 그대로 <p>\\\</p> 코드로 들어가있어요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인