혹시 sql 를 날려서 게시글 본문에 포함된 html 태그를 다 날릴 수는 없을까요?
" <span> 안녕하세요 </span> " 라고 된 문장을 " 안녕하세요 " 으로 바꾸고 싶은데
이게 가능한건지 궁금합니다
한두개면 일일이 수정하면 되는데
몇만건이 넘어가니 수작업으론 도저히 엄두가 안나네요
혹시 sql 를 날려서 게시글 본문에 포함된 html 태그를 다 날릴 수는 없을까요?
" <span> 안녕하세요 </span> " 라고 된 문장을 " 안녕하세요 " 으로 바꾸고 싶은데
이게 가능한건지 궁금합니다
한두개면 일일이 수정하면 되는데
몇만건이 넘어가니 수작업으론 도저히 엄두가 안나네요
phpadmin 들어가신후 쿼리 작성창에서
UPDATE xe_documents SET content=REPLACE(content, "<span>안녕하세요</span>", "환영합니다")
-> 모든 게시글의 내용의 <span>안녕하세요</span> 이 환영합니다 로 변경
UPDATE xe_documents SET content=REPLACE(content, "<span>", "")
UPDATE xe_documents SET content=REPLACE(content, "</span>", "")
- > 모든 게시글의 내용에서 <span> 및 </span> 태그가 삭제됨
빨간색 xe의 경우 본인사이트 테이블 앞에 붙는 값으로 변경한적 없다면 디폴트가 xe입니다.
특정 게시판만을 목적으로 하는경우 where 이용하여 범위제한 하시면 됩니다.
본문을 불러와서 strip_tags로 html 태그를 제거한 후 다시 저장하면 됩니다.
게시판처럼 불러올때는 while로 돌리고 그 안에서 제거하고 고유값을 기준으로 다시 저장하면 되는 거죠.
쿼리만 보면 대강 아래와 같은 구성이 되겠네요.
mysql 쿼리를 날릴려면 이전에 db연결하는 부분이 있어야 합니다.
<?
$query = "SELECT * FROM 테이블명";//필요하면 WHERE절 추가
$result= mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$t_idx = $row['고유번호필드명'];
$t_con = $row['본문필드명'];
$t_con = strip_tags($t_con);
$query_t = "UPDATE 테이블명 SET 본문필드명='$t_con' WHERE 고유번호필드명 = '$t_idx'";
$result_t = mysql_query($query_t);
}
?>
실제로 적용하기 전에는 반드시 백업을 하고 하세요~