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

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

초보엄마 2년 전 조회 3,761
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개

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

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

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:]]는 공백을 나타냅니다. [^]는 해당 문자 패턴을 제외한 모든 문자를 의미합니다.

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

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

s
2년 전

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

$contents 라고 하고,.

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

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

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

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

s
2년 전

안녕하세요

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

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

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

도움이 되길!!!

 

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

답변에 대한 댓글 1개

초보엄마
2년 전
답변주셔서 감사합니다...

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

이런방법으로 했더니

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

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

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

플라이
2년 전

function test_함수명($string){

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

 return $text;

}

 

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

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

답변에 대한 댓글 1개

초보엄마
2년 전
답변주셔서 감사합니다...제가 초보라서 mysql에서 한번에 내용과 제목에서 모든특수문자를 없애고 싶은데 어떤식으로 해야하나요? ㅜㅜ 알려주시면 감사드리겠습니다

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

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

로그인