여기서 막혔어요 도와주세요~
문자열 치환함수인데요....
아래의 소스대로 하면,
mildly가 입력되면 이상il복부 가 출력됩니다. 순차적으로 일치하는 단어만을 출력하게 되는데요
이를 정확하게 일치하는 단어만 출력되게 하는 방법이 있을까요? mildly를 입력하면 "경미하게" 출력되게끔요
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function bad_Word($str)
{
$str=str_replace("m","이상",$str);
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("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>";
}
?>
//<!-- 단어변환-->
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("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);
이렇게 반대로 하면 되지 않을까요 ^^;
정확히 일치하는 문자열만 출력하는 방법이 없을까요?
$a_res = array("m"=>"이상", "mil"=>"경", "dly"=>"복부", "ased"=>"외전", "localized"=>"후방 관절", "increased"=>"증가된", "mildly"=>"경미하게");
return $a_res[$str];
}
stop word(아마 공백이 되겠죠.) 단위로 나눠서 변환을 하면 됩니다.
연속되어 있는 문자는 위에서 얘기한것쩌럼 긴쪽부터 변환해야 합니다.
function bad_Word($str)
{
$a_res = array('m' =>'이상','mil'=>'경','dly'=>'복부','ased'=>'외전','localized'=>'후방 관절','increased'=>'증가된','mildly'=>'경미하게');
$str = str_replace($a_res, $str);
return $str;
}