[PHP-users 18148]縦書き変換スクリプト

大原 美樹 o-hara.miki @ pop-cute.net
2003年 10月 1日 (水) 11:36:21 JST


こんにちは、大原です。

現在、ユーザが投稿した文章を縦書きに変換するスクリプトを作成しています。
しかし、行き詰まってしまったのでお知恵を拝借いたしたく投稿します。
お仕事のおじゃまになりましたら、恐縮です。

//<--本文整形
$honbun = htmlspecialchars($_POST["honbun"], ENT_NOQUOTES);
$honbun = mb_convert_kana($honbun, ASKV);
$honbun = preg_replace("/[\r\t]/", "", $honbun);
//-->
//<--行に分割
$div_rows = preg_split("/[\n]/", $honbun);
//-->
//<--文字に分割
$char = array();
$row = array();
$max_chars_few = 0;
$j = 0;
foreach($div_rows as $value){
    $chars_few = mb_strlen($value);
    for($i =0; $i < $chars_few; $i++)$char[$i] = mb_substr($value, $i, 1);
    $row[$j] = $char;
    if($max_chars_few < $chars_few)$max_chars_few = $chars_few;
    $j++;
}
//-->

以上のようなスクリプトを作成したのですが、
文字が上手く配列に入ってくれません。
具体的には以下のような感じです。

$_POST["honbun"] = あいうえお ←の場合
$row[0]$char[0] = あ
$row[0]$char[1] = い
$row[0]$char[2] = う
$row[0]$char[3] = え
$row[0]$char[4] = お

$_POST["honbun"] = あいうえお
                   123        ←の場合
$row[0]$char[0] = 1
$row[0]$char[1] = 2
$row[0]$char[2] = 3
$row[0]$char[3] = え
$row[0]$char[4] = お
$row[1]$char[0] = 1
$row[1]$char[1] = 2
$row[1]$char[2] = 3
$row[1]$char[3] = え
$row[1]$char[4] = お

となってしまうのです。
配列のポインタの動かし方に問題があるのかと思うのですが、
一人で考えていて煮詰まってしまいました。
お力添えいただければ幸いです。

♪☆★☆★☆※☆★☆★☆♪
大原 美樹
  o-hara.miki @ pop-cute.net
♪☆★☆★☆※☆★☆★☆♪




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