문자치환 질문합니다.
본문
<?
// $list[$i][name] 에는 글쓴이 이름값이 들어 있습니다.
$kkk = $list[$i][name];
$replaceSTR2 = str_replace(substr($kkk,3,3),"♡",$kkk);
echo $replaceSTR2;
?>
위 소스를 돌리면 글쓴이 이름이 이승철 이라면
이승철 -> 이♡철
이렇게 되기를 원합니다.
현재 위의 소스를 작동시키면 그냥 똑같이 이승철 로 나옵니다.
답변 3
꼭!!! 무조건!!! 가운데 글자를 변환해야하는게 아니라면 그냥 가운데 글자를 빼버리고 출력을하시면...
$startText = substr($list[$i][name], 0, 1); // 0자리수부터 1개글자만
$endText = substr($list[$i][name], 1); // 1자리수까지 제외하고 뒤쪽나머지
echo $startText."♡".$endText;
가운데 글자를 찾아서 그걸 다른걸로 치환해서 출력하는것보다 2번째자리수(0부터 시작하니깐 소스에선 1)를 기준으로 나머지출력...
+++ 이름이 4글자인 사람도 있을지도 모르고... 2글자인 사람이 있을지도 모르니...
$replaceSTR2 = str_replace(substr($kkk,3,3),"♡",$kkk);
부분을
$replaceSTR2 = str_replace(substr($kkk,2,2),"♡",$kkk);
로 한번 해보세요.
답변 감사합니다.
$list[$i][name] 의 값이 단순히 이름만 들어 가있는 것이 아니고 태그도 들어 있네요?
태그도 있는지 몰랐어요...
배열값 이라 그런가 봐요~
일단 아래처럼 해결 했습니다.
<?
// $list[$i][name] 에는 글쓴이 이름값이 들어 있습니다.
$kkk = $list[$i][name];
$iii = preg_replace('/[^가-힣]/u','',$kkk); // UTF-8 / 한글 제외 문자 제거
$replaceSTR2 = str_replace(substr($iii,3,3),"♡",$iii);
echo $replaceSTR2;
?>
채택은 드래곤된다 님으로 할께요~