utf8 에서 cut_str 함수를 사용하는 방법에 대하여... 채택완료
홈페이지의 전체 소스를 ecukr 에서 utf8 로 변경하였는데요...
게시판 제목 등의 문자열을 자르면...
�.. 이렇게 문자열이 끝나게 됩니다.
인코딩이 utf8 일때, 아래의 cut_str 함수를 어떻게 수정해야 하죠?
바쁘신 시간이겠지만, 좀 알려주시면 대단히 고맙겠습니다.
감사합니다.
</strong></p><p><strong>
</strong></p><p><strong></strong></p><div class="container"><div class="line number1 index0 alt2"><code class="php keyword">function</code> <code class="php plain">cut_str(</code><code class="php variable">$str</code><code class="php plain">,</code><code class="php variable">$maxlen</code><code class="php plain">, </code><code class="php variable">$suffix</code> <code class="php plain">= </code><code class="php string">".."</code><code class="php plain">) {</code></div><div class="line number2 index1 alt1"><code class="php spaces"> </code><code class="php keyword">if</code><code class="php plain">(</code><code class="php variable">$maxlen</code><code class="php plain"><=0) </code><code class="php keyword">return</code> <code class="php variable">$str</code><code class="php plain">;</code></div><div class="line number3 index2 alt2"><code class="php spaces"> </code><code class="php keyword">if</code><code class="php plain">(</code><code class="php functions">ereg</code><code class="php plain">(</code><code class="php string">"\[re\]"</code><code class="php plain">,</code><code class="php variable">$str</code><code class="php plain">)) </code><code class="php variable">$len</code><code class="php plain">=</code><code class="php variable">$len</code><code class="php plain">+4;</code></div><div class="line number4 index3 alt1"><code class="php spaces"> </code><code class="php keyword">if</code><code class="php plain">(</code><code class="php variable">$maxlen</code> <code class="php plain">>= </code><code class="php functions">strlen</code><code class="php plain">(</code><code class="php variable">$str</code><code class="php plain">)) </code><code class="php keyword">return</code> <code class="php variable">$str</code><code class="php plain">;</code></div><div class="line number5 index4 alt2"> </div><div class="line number6 index5 alt1"><code class="php spaces"> </code><code class="php variable">$klen</code> <code class="php plain">= </code><code class="php variable">$maxlen</code> <code class="php plain">- 1;</code></div><div class="line number7 index6 alt2"><code class="php spaces"> </code><code class="php keyword">while</code><code class="php plain">(ord(</code><code class="php variable">$str</code><code class="php plain">[</code><code class="php variable">$klen</code><code class="php plain">]) & 0x80) </code><code class="php variable">$klen</code><code class="php plain">--;</code></div><div class="line number8 index7 alt1"><code class="php spaces"> </code> </div><div class="line number9 index8 alt2"><code class="php spaces"> </code><code class="php keyword">return</code> <code class="php functions">substr</code><code class="php plain">(</code><code class="php variable">$str</code><code class="php plain">, 0, </code><code class="php variable">$maxlen</code> <code class="php plain">- ((</code><code class="php variable">$maxlen</code> <code class="php plain">+ </code><code class="php variable">$klen</code> <code class="php plain">+ 1) % 2)).</code><code class="php variable">$suffix</code><code class="php plain">;</code></div><div class="line number10 index9 alt1"><code class="php plain">}</code></div></div><p><strong>
</strong></p><p><strong>
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
수정방법을 모르면, 이보다 더 어려운게 어디 있어요?
수정방법을 알고나면, 이보다 더 쉬운게 어디 있어요?
어찌 됐거나, 뿌롱님의 덕분에 이렇게 쉽게 해결이 되었네요...ㅋㅋ