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



 
토막소스
 


내용 검색시 검색어 내용 포함되어있는 부분 출력하기
  2008-08-10 21:52:35 댓글:(0)   조회:1501



원리는 간단합니다. ^^ 
문장자르는 함수를 이용해서 응용했습니다. 

로직: 
1. 검색어 띄우쓰기로 분리하기 ^^ 
2. 검색어 첫단어 자리수 추출하기 
3. 첫단어 추출한 자리부터 -100자리부터 가져오기~ 1000자리까지 
4. -100~1000자리에서 문장자르는 함수로 다시 자르기 ^^;; 

-------------- 
* 참고: 
검색어와 본문 영문 대/소문자는 차이가 나면 블럭이 안됩니다. ;;; 



아래 내용은 소스 입니다. ^^ 
----------------------word_cut.php-------------------------- 
<? 


//----------------------------------------------글자 자르기 함수---------------------------- 


function mid_string($now_string, $limit_string){ 
$temp=substr($now_string,0,$limit_string); 
    if($temp!=$now_string) { 
        $string_point=0; 
        while( $string_point < $limit_string ) { 
            if( ord(substr($now_string,$string_point,1)) > 127 ) $string_point+=2; 
                else $string_point++; 
        } 
        $temp=$string_point; 
        //$temp.=".."; 
    } 
$now_string = $temp; 
return $now_string; 


function cut_string2($now_string, $limit_string){ 
$temp=substr($now_string,0,$limit_string); 
    if($temp!=$now_string) { 
        $string_point=0; 
        while( $string_point < $limit_string ) { 
            if( ord(substr($now_string,$string_point,1)) > 127 ) $string_point+=2; 
                else $string_point++; 
        } 
        $temp=substr($now_string,0,$string_point); 
        
    } 
$now_string = $temp; 
return $now_string; 


//------------------------------------------------------------------- 



//글내용 
echo $contents=" 
--------------------------------테스트 문서-------------------------<br> 
글제목 :  [리뷰] i-RAM(램디스크)과 하드의 성능 비교 분석 
 분류 : 시스템    올린이 :  최우수(woosoo54)    조회 : 3986    댓글 : 0  
i-RAM 4G와 i-RAM 4Gx2 raid0 의 hdtach 벤치마크 결과입니다. 테스트PC 사양은 브레인박스 2006 드림PC 입니다. (메인보드 intel 975XBX2) 975XBX2는 ich7과 marvell 61XX 두가지 전송포트를 가지고 있습니다만 위 벤치마크는 ICH7에서 실시한 결과값입니다. 
Marvell에서는 위표보다 낮은 전송률을 보이며 레이드로 OS 구동시 ICH7과 충돌증상 때문에 마우스가 끊깁니다. 
단일 화일 복사속도는 i-RAM과 레이드간 성능차가 크게 나지 않습니다. 그러나 HDD랑은 엄청난 차이를 보여주고 있습니다. 참고로 소프트웨어 램디스크(Ramdisk Plus 8.0.4.0)는 2초85였습니다. 
여러개로 구성된 화일복사 테스트를 하니 레이드의 성능이 두드러지게 나타나네요. 소프트웨어 램디스크의 시간은 12초 34였습니다. i-RAM이 소프트웨어 램디스크의 속도만큼 근접했다는게 놀라웠습니다. 
i-RAM 4Gx2 raid0은 레이드를 구성했다고 자랑할만큼의 전송률은 보여주지 않지만 위 결과값처럼 성능향상은 분명 있었습니다. 그러나 레이드를 구성할 시 8Gb여야 하나 7Gb로 1Gb의 크기가 줄어듭니다. 성능향상 및 단일디스크 구성으로 4Gb 이상의 최고속 디스크가 필요하신분이라면 레이드 값어치는 있다고 봅니다. 와우, 리니지2등을 레이드에 설치하여 실행했을때 속도는 정말 혀를 내두를 속도였습니다. (생계형 게이머분들께 추천해드리고 싶을정도로...) 
i-RAM에 OS를 설치해서 사용할수는 있습니다만 브레인박스의 리뷰에 나와 있는데로 상당히 불안정한 요소들이 많습니다. i-RAM은 ich7 포트에 연결하고 ODD는 Marvell칩 포트에 연결하면 XP 설치복사 후 블루스크린이 뜨는 경우도 생기고 더이상 진행이 안되는등 설치시 전송포트 칩의 특성을 상당히 많이 탑니다. 
"; 


//검색어 배열로 만들기 
$str_array = split(" ", "$search_string"); 
//배열 개수 
$str_c=substr_count("$search_string", " "); 
//검색어 띄어쓰기 연결 
for($i=0;$i<=$str_c;$i++){ 
$str_add=$str_add."%$str_array[$i]%"; 


    $pos=stripos($contents,$str_array[0]); 

    $f_str=mid_string($contents,$pos-100); 
    $tmp_str=substr($contents,$f_str,1000); 
    $contents=cut_string2($tmp_str,500); 

//내용 일치 굵게 
foreach($str_array as $aa) $str_array2_[] = "<font color='red' style='background-color:FFD228'>$aa</font>"; 
echo "<br><br>-------검색결과-------<br><br>"; 
echo $contents=str_replace($str_array,$str_array2_,$contents); 
//내용 일치 굵게 
?> 
<form name=form action="<?=$PHP_SELF?>" method=get> 
<input type=text name=search_string > <a href="javascript:" onclick="submit();">검색</a> 
</form>



 댓글 (0)


토막소스
페이지: 1 / 4   


   이미지 사이즈 비율대로 축소1039
   PHP- 파일 다운로드시 속도 제한하기1797
     파일 다운로드 속도 제한1516
   ffmpeg 설치 후 php 업로드 간단 테스트2439
   새청없이 주소검색2090
   EUC-KR<=>UTF-8 상호변환 하기1999
   키를 이용한 암호화/복호화 함수입니다.1628
   간단한 암호화/복호화 함수1710
   PHP로 작동하는 RSS 읽는 함수1533
   [PHP] 자동 썸네일 이미지 만들기2144
내용 검색시 검색어 내용 포함되어있는 부분 출력하기1502
   사이트 방문경로와 검색한 단어 알기1478
   이미지 실제경로를 않보여주고 이미지 출력하기(2) 4998
    Ajax로 구연한 실시간 서버시간 출력2364
   ajax refresh(2초에 한번 자동 페이지로딩5224
   refresh.php1497
   연합뉴스 샘플1638
   구글뉴스1469
   웹페이지의 문자열 가져오기 소스1719
   XML<-->Array 클래스(4) 1777
   str_replace() 한글치환 보강1886
   php로 텍스트라인에서 영문 한글 특수문자 숫자 지2895
   추천 하려면..어떻게 해야하죠?(1) 1545
   들어온 경로 URL 기록 남기기1693
   중복 로그인 방지법4422
   세션 DB 처리 소스1614
   한페이지에서 체크된것은 Y, 아니면 N으로 업데이트(1) 1600
   [제로보드] 쪽지 도착하면 자동으로 뜨게 하기(홈마스타)1574
   PHP특강(28)-쪽지 확인창 띄워주기(홈마스타)1784
   [초보강좌] 세션을 DB로 관리하기 + 쪽지 확인하(홈마스타)794
[1]  [2]  [3]  [4]  

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





최근 글
[손님]

인기 글
[손님]
[홈마스타] [RE] input type=\\