답변 3개
오호, 괜한 걱정에 또 글을 쓰게 되네요...
홈짱님이 알려주신 두번째 링크에서 제가 알려드린 소스대로 left 함수로 처리하면 이미지 태그 이하의 내용도 모두 지워지는 불상사가 생깁니다.
이미지가 내용의 중간에 있거나 위에 있는 경우, 실제 서비스 상황에서는 문제가 커질 수 있겠죠...
홈짱님의 질문에 슈와이님이 답변주신 내용은
"[이 게시물은 최고관리자님에 의해 2015-06-15 20:40:34 갤러리에서 이동 됨]"
이런 내용이 항상 게시물 내용 하단에 있기 때문에 left 함수로 원하는 내용의 삭제가 가능했던 것입니다.
"saradaq"님의 경우는 REPLACE 함수를 쓰셔야 합니다.
다음과 같이 해보세요
</p><p>//특정 게시판의 id가 test 라고 가정하면</p><p>$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).'
'; //먼저 해당 게시물의 이미지만 출력되는지 확인하고 아래의 쿼리를 실행하세요.
sql_query(" update {$wr_table} set wr_content = replace(wr_content, '{$img}', '') where wr_id = '{$row['wr_id']}' ");
}
}
}</p><p>
답변에 대한 댓글 3개
알려주신대로 하니 잘 되네요.
좋은 하루되세요~
댓글을 작성하려면 로그인이 필요합니다.
아래 게시물 응용해 작업해 보세요. (원리는 동일한 것 같습니다.)
특정 게시판: http://sir.kr/qa/145315" target="_self">http://sir.kr/qa/145315
모든 게시판: http://sir.kr/qa/145332" target="_self">http://sir.kr/qa/145332
답변에 대한 댓글 1개
wr_content = left(wr_content, instr( wr_content, '<img src=')-1)
where wr_content regexp '\\<img.+\\>'
저렇게하니 <img 이거로 시작하는 아래 부분이 다 지워져 버리더라구요 ㅠㅠ
제가 원하는건
텍스트 <img src=........> 텍스트
이렇게 된것을 텍스트는 남기고 이미지 태그만 삭제하려고 하는데 잘안되어서요;;
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인