문자열 자르기에 관한 질문입니다.
본문
안녕하세요.
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
이런 경우 사용하는 함수인데..
기능상의 문제는 없습니다.
그대로 사용하시면 됩니다..^^
HTML 문서는 기본적으로 이렇게 작성되어 있습니다.
<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"> 원
+항목추가 또는 -항목삭제라는 버튼을 누르면 javascript에 의하여 아래의 태그가 추가 또는 삭제됩니다.
<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'> 원
S_POST 값을 넘겨받은 파일은 다음과 같이 처리합니다.
//기프트카드처리
for($k=0;$k<count($gift_name);$k++){
$gift_text .= $gift_name[$k]."†".$gift_price[$k]."†".$gift_buy_price[$k]."‡";
}
// $gift_text = substr($gift_text,0,-2); // 글씨가 깨짐
$gift_text = mb_substr($gift_text, 0, -1, 'utf-8'); // 빔님이 추가한 소스
이런 형식으로 "만원권†10000†10000‡오만원권†50000†50000‡십만원권†100000†100000‡" 와 같은 문자열이 만들어지게 되는데요.
유독 javascript로 생성한 gift_name[], gift_price[], gift_buy_price[] 등의 input 태그에서, 값을 전달하면 값이 안 받아지네요.. ㅠㅠ
DOM이 전부 로드되지 않아서 그런가요 ??? 참 어렵네요.
!-->!-->!-->