• ベストアンサー

全角半角混在の文字列から○文字まで取得する方法

はじめまして! MySQLから取得した文字列をPHPで例えば10文字まで表示したいのですが、良いやり方ありますでしょうか? 文字列には全角半角が混在しているので substr関数だと、うまく取得できない場合があります。よろしくお願いいたします。

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

  • ベストアンサー
  • mac_mini
  • ベストアンサー率42% (54/128)
回答No.1

PHP4からですが、 mb_substr()で可能ではないでしょうか?

参考URL:
http://php.s3.to/man/function.mb-substr.html
negi_xp
質問者

お礼

mb_substrですね! 早速調べて試してみます。 ありがとうございます。

negi_xp
質問者

補足

mb_strimwidth() なんて関数を発見しました! 今回このやり方でやってみようと思います。 ありがとうございました!

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

<?php $text="100型戦闘機"; $limit=10; #10バイト以下での文字の切り出し for($i=mb_strlen($text);$limit<strlen($result=mb_substr($text,0,$i));$i--) ; print $result; ?>

negi_xp
質問者

お礼

なるほど、mb_***という関数類があるのですね! ありがとうございます!!

関連するQ&A