[PHP-users 23744] mb_strimwidth()の動作について

Etsuo SUMIYA e_sumiya @ f-den.co.jp
2004年 11月 29日 (月) 15:34:27 JST


sumiyaといいます.

mb_strimwidth()を用いて文字列の丸め処理を行っております.

文字列により,期待する動作をしないことがあります.何か設定オプショ
ンなどあるのでしょうか?

mb_strcut()を使うと期待通りの結果を返してくるので,スクリプトを書
き換えるつもりですが,すっきりしないのでどなたかわかる方,教えてく
ださい.

環境:
Windows 2000 Pro.
PHP 4.3.4+Apache 1.3.28

PHP.INI
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0

-- PHP program --
<!doctype html public "-//w3c//dtd html 3.2//ja">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-jp">
<title>mb_strimwidth()・mb_strcut()</title>
<?php
$s = "12345678901×13.59m";
print $s;
$ss = mb_strimwidth($s, 0, 12, "");
print "<br>\n";
print $ss;
print "<br>\n";
$ss = mb_strcut($s, 0, 12);
?>

-- 実行結果 --
12345678901×13.59m
12345678901×
12345678901
12345678901あ13.59m
12345678901
12345678901

-- 期待する実行結果 --
12345678901×13.59m
12345678901
12345678901
12345678901あ13.59m
12345678901
12345678901


PHP-users メーリングリストの案内