웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
토막소스
 


str_replace() 한글치환 보강
  2008-06-02 23:48:57 댓글:(0)   조회:1883



<?php 
 $str = '오예동물 잘되는지..'; 
 echo str_replace( '예' ,'yes', $str ); 
/* 
 출력 -> "오yes탙es?잘되는지.." 
 기대한 결과는 '오yes동물 잘되는지..' 이지만, 
 연속된 한글코드 '오예동물  잘되는지..' 단어속에는 '예' 가 두번 찾아지게 된다. 

 이것은 2바이트 체계의 한글을 무시해서 생기는 일이며, 
 '동'의 뒷자리 1바이트와 '물'의 앞자리 1바이트가 합쳐져 '예'라는 단어와 
  같은코드로 해석되어 생기는 일이다. 
*/ 

// ------------------------------------------------------------------- 
 function Han_replace( $search, $to, $str ) { 

    // 한글만 단어별로 늘리서,, 앞뒤의 코드가 섞이는것을 방지함. 

    $ESC = "\x1b"; // 키보드로 입력할 수 없는 [Esc]코드, 

    $pattern1 = "/([\x80-\xff].)/"; 
    $pattern2 = "/([\x80-\xff].)$ESC/"; 

    $str = preg_replace( $pattern1, "\1$ESC", $str ); // 모든 한글단어 뒤에 $ESC를 추가함. 
    $search = preg_replace( $pattern1, "\1$ESC", $search ); // 찾을 문자도 같은 패턴으로 바꿈, 
    $str = str_replace( $search, $to, $str ); // 일단 때려 바꾸고. 

    return preg_replace( $pattern2, "\1", $str ); // 한글 뒤에 추가했던 $ESC를 지움. 
 } 
 $str = '오예동물 잘되는지..'; 
 echo Han_replace( '예' ,'yes', $str ); 
 //  출력 -> 오yes동물 잘되는지.. 
?> 

utf-8 지원하지 않는 쪽에서, 
단어필터링을 위해 만들었던 함수입니다.



 댓글 (0)


토막소스
페이지: 1 / 4   


   이미지 사이즈 비율대로 축소1034
   PHP- 파일 다운로드시 속도 제한하기1796
     파일 다운로드 속도 제한1514
   ffmpeg 설치 후 php 업로드 간단 테스트2438
   새청없이 주소검색2088
   EUC-KR<=>UTF-8 상호변환 하기1997
   키를 이용한 암호화/복호화 함수입니다.1625
   간단한 암호화/복호화 함수1709
   PHP로 작동하는 RSS 읽는 함수1532
   [PHP] 자동 썸네일 이미지 만들기2143
   내용 검색시 검색어 내용 포함되어있는 부분 출력하기1500
   사이트 방문경로와 검색한 단어 알기1477
   이미지 실제경로를 않보여주고 이미지 출력하기(2) 4995
    Ajax로 구연한 실시간 서버시간 출력2363
   ajax refresh(2초에 한번 자동 페이지로딩5220
   refresh.php1496
   연합뉴스 샘플1637
   구글뉴스1467
   웹페이지의 문자열 가져오기 소스1718
   XML<-->Array 클래스(4) 1774
str_replace() 한글치환 보강1884
   php로 텍스트라인에서 영문 한글 특수문자 숫자 지2893
   추천 하려면..어떻게 해야하죠?(1) 1544
   들어온 경로 URL 기록 남기기1692
   중복 로그인 방지법4419
   세션 DB 처리 소스1612
   한페이지에서 체크된것은 Y, 아니면 N으로 업데이트(1) 1599
   [제로보드] 쪽지 도착하면 자동으로 뜨게 하기(홈마스타)1573
   PHP특강(28)-쪽지 확인창 띄워주기(홈마스타)1783
   [초보강좌] 세션을 DB로 관리하기 + 쪽지 확인하(홈마스타)792
[1]  [2]  [3]  [4]  

복수단어 검색은 공백(space)로 구분해 주세요. 1





최근 글
[손님]

인기 글
[손님]
[홈마스타] (1) oledb 접근 오류
[예진아씨] 자료없음