[PHP] 문자열에서 특수문자 제거

검색 기능을 구현할 때 검색어에 포함된 특수 문자를 제거할 목적으로 만든 PHP 함수이다. function get_search_string($stx) { $stx_pattern = array(); $stx_pattern[] = ‘#\.*/+#’; $stx_pattern[] = ‘#\\\*#’; $stx_pattern[] = ‘#\.{2,}#’; $stx_pattern[] = ‘#[/\’\”%=*\#\(\)\|\+\-\&\!\$@~\{\}\[\]`;:\?\^\,]+#’; $stx_replace = array(); $stx_replace[] = ”; $stx_replace[] = ”; $stx_replace[] = ‘.’; $stx_replace[] = ”; $stx = preg_replace($stx_pattern, $stx_replace, $stx); return $stx; } 패턴과 […]

Read More

[PHP] preg_replace로 특수문자 제거 후 한글 깨질 때 해결법

개발 중인 게시판에서 검색 시 검색어의 한글이 깨진다는 보고가 있어 살펴보니 검색어에서 특수문자를 제거하는 코드에서 원인을 찾을 수가 있었다. $stx = preg_replace(‘/[[:punct:]]/’, ”, $stx); 오류를 보고하신 분의 PHP 버전이 5.3.21이었는데 이 버전에서만 문제가 되는 것인지는 확실치가 않다. 위 코드를 적용했을 때 한글이 깨진다면 아래처럼 코드를 수정하면 된다. $stx = preg_replace(‘/[[:punct:]]/u’, ”, $stx); 코드를 보면 preg_replace […]

Read More

[정규식] 문자열 끝의 , 제거

정규식 초보.. 굳이 필요하지 않은데 요즘 작업 중인 코드에 정규식을 좀 써보려고 기를 쓰고 있다. 이렇게라도 해야 나에게는 어렵게 느껴지는 정규식을 공부할테니 말이다. 난 이렇게 해야 공부한다. ^^; <?php $str = ‘google,naver,daum,,,,,’; $str = preg_replace(“/,+$/”, “”, $str); echo $str; ?> 결과 : google,naver,daum 테스트해보면 잘 나오는데.. 이건 제대로 한 것인지 또 확신은 없다. 정규식의 길은 […]

Read More

preg_replace를 이용한 날짜, 시간 형식 변경

쇼핑몰 작업 중에 신용카드 연동을 위한 작업을 진행 중인데.. 연동 완료 후 승인 시간을 날짜는 20120104 그리고 시간은 153614 와 같은 형식으로 데이터를 넘겨줘서 MySQL DB에 저장할 datetime 형식이 필요해서 만든 것이다. <?php echo preg_replace(“/([0-9]{4})([0-9]{2})([0-9]{2})/”, “\1-\2-\3”, “20120104”); echo preg_replace(“/([0-9]{2})([0-9]{2})([0-9]{2})/”, “\1:\2:\3”, “153614”); ?> 위에는 날짜 형식을 바꾸는 것이 아래는 시간 형식을 변경하는 부분이다.

Read More