특정 게시판 내용 일괄삭제 쿼리 명령어?

특정 게시판 내용 일괄삭제 쿼리 명령어?

QA

특정 게시판 내용 일괄삭제 쿼리 명령어?

답변 3

본문

특정 게시판 내용에 <img src=........> 이미지 태그가 있는데요.

 

이미지 태그만 모두 한번에 지우는 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 3

오호, 괜한 걱정에 또 글을 쓰게 되네요...

홈짱님이 알려주신 두번째 링크에서 제가 알려드린 소스대로 left 함수로 처리하면 이미지 태그 이하의 내용도 모두 지워지는 불상사가 생깁니다.

이미지가 내용의 중간에 있거나 위에 있는 경우, 실제 서비스 상황에서는 문제가 커질 수 있겠죠...

 

홈짱님의 질문에 슈와이님이 답변주신 내용은

"[이 게시물은 최고관리자님에 의해 2015-06-15 20:40:34 갤러리에서 이동 됨]" 

이런 내용이 항상 게시물 내용 하단에 있기 때문에 left 함수로 원하는 내용의 삭제가 가능했던 것입니다.

"saradaq"님의 경우는 REPLACE 함수를 쓰셔야 합니다.

 

다음과 같이 해보세요


//특정 게시판의 id가 test 라고 가정하면
$wr_table = $g5['write_prefix'].'test';
$result = sql_query(" select wr_id, wr_content from {$wr_table} where wr_content regexp '<img([^>]*)>' ");
if($result){
    while($row = sql_fetch_array($result)){
        $image = get_editor_image($row['wr_content']);
        foreach($image[0] as $img){
            //echo $row['wr_id'].' : '.substr($img, 1, -1).'<br>'; //먼저 해당 게시물의 이미지만 출력되는지 확인하고 아래의 쿼리를 실행하세요.
            sql_query(" update {$wr_table} set wr_content = replace(wr_content, '{$img}', '') where wr_id = '{$row['wr_id']}' ");
        }
    }
}
 

아래 게시물 응용해 작업해 보세요. (원리는 동일한 것 같습니다.)

 

특정 게시판: http://sir.kr/qa/145315

모든 게시판: http://sir.kr/qa/145332

네~ 저것보고 해봤는데요.

wr_content = left(wr_content, instr( wr_content, '<img src=')-1)
where wr_content regexp '\\<img.+\\>'

저렇게하니 <img 이거로 시작하는 아래 부분이 다 지워져 버리더라구요 ㅠㅠ

제가 원하는건
텍스트 <img src=........> 텍스트
이렇게 된것을 텍스트는 남기고 이미지 태그만 삭제하려고 하는데 잘안되어서요;;

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