테스트 사이트 - 개발 중인 베타 버전입니다

문자치환 질문합니다. 채택완료

에스엠3 10년 전 조회 2,955

// $list[$i][name] 에는 글쓴이 이름값이 들어 있습니다.

$kkk = $list[$i][name];

$replaceSTR2 = str_replace(substr($kkk,3,3),"♡",$kkk);

echo $replaceSTR2;

?>

 

위 소스를 돌리면 글쓴이 이름이 이승철 이라면

이승철 -> 이♡철 

이렇게 되기를 원합니다.

 

현재 위의 소스를 작동시키면 그냥 똑같이 이승철 로 나옵니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

꼭!!! 무조건!!! 가운데 글자를 변환해야하는게 아니라면 그냥 가운데 글자를 빼버리고 출력을하시면...

 

$startText = substr($list[$i][name]​, 0, 1); // 0자리수부터 1개글자만

$endText = substr($list[$i][name], 1); // 1자리수까지 제외하고 뒤쪽나머지

 

echo $startText."♡".$endText;​

 

가운데 글자를 찾아서 그걸 다른걸로 치환해서 출력하는것보다 2번째자리수(0부터 시작하니깐 소스에선 1)를 기준으로 나머지출력...

 

+++ 이름이 4글자인 사람도 있을지도 모르고... 2글자인 사람이 있을지도 모르니...

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

답변 감사합니다.

 

 $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;

?>

 

채택은 드래곤된다 님으로 할께요~

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

p
10년 전

$replaceSTR2 = str_replace(substr($kkk,3,3),"♡",$kkk);

부분을

$replaceSTR2 = str_replace(substr($kkk,2,2),"♡",$kkk);

로 한번 해보세요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인