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

문자열 자르기에 관한 질문입니다. 채택완료

태그맨 7년 전 조회 4,061

안녕하세요.

PHP에 이런 문자열이 있습니다.

$str = "만원권†10000†10000‡오만원권†50000†50000‡십만원권†100000†100000‡"

 

$str 문자열 맨끝의 ‡부호를 제거하려면 어떻게 해야 하죠?

euc-kr 인코딩 에서는,

substr($str, 0, 2) 이렇게 되여 있었는데요.

utf8 로 변경 후,

substr($str, 0, 2) 을 사용하면 "10000�" 문자열이 깨집니다.

 

--------------------------------------------------------------------------------------

$str = mb_substr($str, 0, -1, 'utf-8');

$str = rtrim($str, "‡");

이렇게 했을 때, 문자열은 깨지지 않지만,

프로그램이 뭔가 좀 이상해진것 같아서요.

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

답변 2개

채택된 답변
+20 포인트
e
7년 전

이런 경우 사용하는 함수인데.. 

기능상의 문제는 없습니다.

그대로 사용하시면 됩니다..^^

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

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

7년 전

HTML 문서는 기본적으로 이렇게 작성되어 있습니다.

</p>

<p><input type="text" name="gift_name[]" size="20" class="input_" value="<?=$item[0]?>" style="width:95%">

<input type="text" name="gift_price[]" size="20" class="input_" value="<?=$item[1]?>" style="width:90px"> 원

<input type="text" name="gift_buy_price[]" size="20" class="input_" value="<?=$item[2]?>" style="width:90px"> 원</p>

<p>

 

+항목추가 또는 -항목삭제라는 버튼을 누르면 javascript에 의하여 아래의 태그가 추가 또는 삭제됩니다.

</p>

<p><input type=text name=gift_name[] size='20' class='input_' style='width:95%'>

<input type=text name=gift_price[] size='20' class='input_' style='width:90px'> 원

<input type=text name=gift_buy_price[] size='20' class='input_' style='width:90px'> 원</p>

<p>

 

S_POST 값을 넘겨받은 파일은 다음과 같이 처리합니다.

</p>

<p>//기프트카드처리

for($k=0;$k<count($gift_name);$k++){

    $gift_text .= $gift_name[$k]."†".$gift_price[$k]."†".$gift_buy_price[$k]."‡";

}</p>

<p>// $gift_text = substr($gift_text,0,-2); // 글씨가 깨짐

$gift_text = mb_substr($gift_text, 0, -1, 'utf-8'); // 빔님이 추가한 소스</p>

<p>

이런 형식으로 "만원권†10000†10000‡오만원권†50000†50000‡십만원권†100000†100000‡" 와 같은 문자열이 만들어지게 되는데요.

 

유독 javascript로 생성한 gift_name[], gift_price[], gift_buy_price[] 등의 input 태그에서, 값을 전달하면 값이 안 받아지네요.. ㅠㅠ

DOM이 전부 로드되지 않아서 그런가요 ??? 참 어렵네요.

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

답변에 대한 댓글 1개

e
eyekiss
7년 전
input 이 추가만 잘된다면 값을 넘기는데는 문제 없습니다.
혹시 form 밖으로 추가되는건 아닌지 확인해보세요..

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

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

로그인