손

여기서 막혔어요 도와주세요~

· 2011-11-10 (목) 19:41:18 · 2471 · 8
문자열 치환함수인데요....
 
 
아래의 소스대로 하면,
 
mildly가 입력되면 이상il복부 가 출력됩니다. 순차적으로 일치하는 단어만을 출력하게 되는데요
 
이를 정확하게 일치하는 단어만 출력되게 하는 방법이 있을까요? mildly를 입력하면 "경미하게" 출력되게끔요
 
 
 
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

function bad_Word($str)
 {     
$str=str_replace("m","이상",$str);
$str=str_replace("mil","경",$str);
$str=str_replace("dly","복부",$str);
$str=str_replace("ased","외전",$str);
$str=str_replace("localized","후방 관절",$str);
$str=str_replace("increased","증가된",$str);
$str=str_replace("mildly","경미하게",$str);

   
 return $str;
 }   

?>
 
 
 
 
 
 
 
아래는 내용출력부분 입니다
 
 
<?
                   //<!-- 단어변환-->
     if ($member[mb_level] >= "12"){echo "<span class='ct lh'>".$view[content]."</span>";}
      else{
      
      
      $content = bad_Word($view[content]);
      echo "<span id=\"writeContents\">".$content."</span>";
       }
        ?>
|

댓글 8개

$str=str_replace("mildly","경미하게",$str);
$str=str_replace("increased","증가된",$str);
$str=str_replace("localized","후방 관절",$str);
$str=str_replace("ased","외전",$str);
$str=str_replace("dly","복부",$str);
$str=str_replace("mil","경",$str);
$str=str_replace("m","이상",$str);


이렇게 반대로 하면 되지 않을까요 ^^;
치환하는 단어가 2만개입니다 ㅜㅡ
정확히 일치하는 문자열만 출력하는 방법이 없을까요?
글자길이로 소팅후 치환순서를 정한후 str_replace 에 array 인자로 넣어주심댈듯
function Word($str) {
$a_res = array("m"=>"이상", "mil"=>"경", "dly"=>"복부", "ased"=>"외전", "localized"=>"후방 관절", "increased"=>"증가된", "mildly"=>"경미하게");

return $a_res[$str];
}
2011-11-11 (금) 09:24:55
치환 문자열과, 치환대상 문자열을 배열로 만들어서 저장하면 됩니다.
stop word(아마 공백이 되겠죠.) 단위로 나눠서 변환을 하면 됩니다.
연속되어 있는 문자는 위에서 얘기한것쩌럼 긴쪽부터 변환해야 합니다.
이렇게 해도 안돼요 ㅠㅠ

function bad_Word($str)
{
$a_res = array('m' =>'이상','mil'=>'경','dly'=>'복부','ased'=>'외전','localized'=>'후방 관절','increased'=>'증가된','mildly'=>'경미하게');
$str = str_replace($a_res, $str);
return $str;
}
제가 잘못이해했는지 모르겠습니다만, 정규표현식으로 하면 쉽게되지 않을까요??
답변 감사합니다^^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-08-29 조회 4,063
12-08-07 조회 3,746
12-08-03 조회 3,555
12-07-31 조회 3,663
12-07-30 조회 3,611
12-07-16 조회 3,836
12-07-15 조회 3,623
12-07-07 조회 3,520
12-07-06 조회 3,714
12-07-03 조회 3,684
12-06-29 조회 3,271
12-06-22 조회 3,644
12-06-17 조회 3,889
12-05-21 조회 3,814
12-05-02 조회 3,392
12-05-02 조회 4,185
12-05-02 조회 3,300
12-04-30 조회 3,481
12-04-30 조회 3,176
12-03-17 조회 4,023
12-03-10 조회 3,369
12-03-08 조회 3,897
12-03-03 조회 3,580
12-02-27 조회 4,996
12-02-17 조회 4,321
12-02-16 조회 4,571
12-02-03 조회 3,287
12-01-31 조회 3,180
12-01-24 조회 3,149
12-01-17 조회 3,872
12-01-05 조회 3,428
11-12-30 조회 3,148
11-12-23 조회 4,709
11-12-08 조회 3,432
11-12-07 조회 4,417
11-11-27 조회 3,819
11-11-25 조회 4,172
11-11-23 조회 3,636
11-11-22 조회 3,484
11-11-09 조회 3,205
11-10-23 조회 3,116
11-10-19 조회 3,090
11-10-08 조회 2,786
11-10-04 조회 2,791
11-10-04 조회 5,239
11-09-01 조회 4,315
11-08-13 조회 2,480
11-08-06 조회 3,165
11-07-11 조회 3,567
11-06-27 조회 2,939
11-06-21 조회 2,618
11-06-13 조회 2,402
11-06-07 조회 2,404
11-05-26 조회 2,396
11-04-20 조회 2,705
11-03-21 조회 2,801
11-03-18 조회 2,495
11-03-11 조회 2,526
11-02-07 조회 2,346
11-01-18 조회 2,669
11-01-12 조회 2,399
11-01-06 조회 2,493
10-12-10 조회 2,759
10-12-09 조회 2,580
10-12-08 조회 5,022
10-11-29 조회 2,669
10-11-28 조회 2,780
10-11-28 조회 2,618
10-11-19 조회 2,804
10-11-04 조회 2,691
10-10-21 조회 2,404
10-10-19 조회 3,353
10-10-12 조회 2,678
10-10-07 조회 2,512
10-09-30 조회 3,472
10-09-17 조회 3,868
10-09-17 조회 3,833
10-05-31 조회 3,511
09-12-31 조회 3,650
09-07-23 조회 4,974
08-09-16 조회 3,197
08-09-06 조회 2,932
08-09-04 조회 3,354
08-08-16 조회 4,403
08-08-15 조회 3,270
08-08-14 조회 4,480
08-08-12 조회 3,955
08-07-23 조회 2,779
08-07-10 조회 3,719
08-07-04 조회 2,941
08-06-27 조회 7,593
08-06-19 조회 4,877
08-05-27 조회 5,494
08-05-25 조회 5,325
08-05-23 조회 3,393
08-05-23 조회 4,536
08-05-21 조회 4,913
08-05-20 조회 4,035
08-05-20 조회 3,274
08-04-18 조회 4,318