aaa라는 특정게시판에서 제목과 내용안에 있는 모든특수문자를 없애고 싶은데요

aaa라는 특정게시판에서 제목과 내용안에 있는 모든특수문자를 없애고 싶은데요

QA

aaa라는 특정게시판에서 제목과 내용안에 있는 모든특수문자를 없애고 싶은데요

본문

UPDATE a SET
wr_subject = REGEXP_REPLACE(wr_subject, '[`~!#$%^&*|\\\'\";:\/?]', ''),
wr_content = REGEXP_REPLACE(wr_content , '[`~!#$%^&*|\\\'\";:\/?]', '')

 

 

이런방업으로 하면 된다고 하셔서 해봤는데 안없어지고

 

update g5_write_a set wr_subject = REGEXP_REPLACE(wr_subject, '■', ' '),

update g5_write_a set wr_subject = REGEXP_REPLACE(wr_subject, '■■', ' '),

 

이렇게 하나하나 하야 없어지는데 모든 특수문자를 한꺼번에 없앨수있는 방법은 없을까요?

알려주시면 감사드리겠습니다

 

이 질문에 댓글 쓰기 :

답변 4

이렇게 하는건 어떠실까요?

UPDATE g5_write_a
SET wr_subject = REGEXP_REPLACE(wr_subject, '[^[:alnum:][:space:]]', ''),
    wr_content = REGEXP_REPLACE(wr_content, '[^[:alnum:][:space:]]', '')
WHERE bo_table = 'aaa';

위의 SQL 문에서 bo_table = 'aaa' 부분은 해당 특정 게시판의 테이블 이름으로 변경해주어야 합니다. 위의 SQL 문은 wr_subject와 wr_content 필드에서 알파벳, 숫자, 공백을 제외한 나머지 문자를 모두 제거합니다.

정규 표현식 [[:alnum:]]은 알파벳과 숫자를, [[:space:]]는 공백을 나타냅니다. [^]는 해당 문자 패턴을 제외한 모든 문자를 의미합니다.

function test_함수명($string){

 $text = preg_replace("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $string);

 return $text;

}

 

적용할곳에 함수를 만들어서 처리할곳에 해당 함수 적용해 처리해 주시면 되실겁니다.

안녕하세요

특수문자들을 모두 쓰지 않아 그럽니다.

/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi

이것을 쓰면 특수문자 전부 삭제 가능합니다.

도움이 되길!!!

 

답변주셔서 감사합니다...

update g5_write_test set wr_subject = REGEXP_REPLACE(wr_subject, '/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/', ' ');

이런방법으로 했더니

#1139 - regexp에서 'unmatched closing parenthesis at offset 13'가 났습니다.

에러가 나면서 되지않는데요 식좀 알려주실수있으실까요....ㅠㅠ

일단 MySQL에서 데이터를 PHP변수에 저장하세요.

$contents 라고 하고,.

PHP에서 정규표현식을 사용합니다.

$result = preg_replace("/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/i", "", $contents);
MySQL에서도 정규표현식 사용가능하나 그 경우 쿼리실행시간이 상당히 길어짐을 고려해주세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 10,637
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT