• ベストアンサー

1文字ごとに改行

1文字ごとに改行を入れたいのですがどうすれば良いのでしょうか。 $str = "abcあいうえお"; これを1文字ずつ改行を入れ 縦書表示させたいのですがどうすれば良いのか分かりません。 mb_strlenで文字数を調べても8とは表示されないし… 1文字ずつ改行を入れるにはどのようにすれば良いのでしょうか よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

文字コードがUTF-8ならできます。 <? mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); $str = "abcあいうえお"; $str=preg_replace("/./u","$0<br>\n",$str); print $str; ?>

oosaka2000
質問者

補足

ありがとうございます! ちなみに、preg_replaceの$0はどういう意味なのでしょうか?

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>preg_replaceの$0 ヒットした文字列です。 この場合だと、「a」「b」「c」・・・・とそれぞれを 変換するという意味ですね。 詳しくはマニュアルをどうぞ。

参考URL:
http://www.php.net/manual/ja/book.pcre.php
oosaka2000
質問者

お礼

ありがとうございます マニュアルも見てもっと勉強します。

関連するQ&A