日本語の文字列を200字程度にカットして表示したいのですが、普通にやると2バイト文字だとうまくいかず、表示するときに変な文字がでます

2バイト文字の混合を正しくカットするにはどうすればいいのでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2006/11/14 21:18:28
  • 終了:2006/11/14 22:15:07

回答(4件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/11/14 21:28:53

ポイント27pt

http://www.res-system.com/item/241

ASPなら上記のURLで文字数をカウントするのを利用して

取り出せばいいでしょう。

100文字なら 1文字ずつ連結させて100文字すぎてから終了すればいいのです。

id:tetsuyuki

すいません説明不足でした、こちらPHPを使っており、ずばり2バイト文字カット関数のコードを探しています

2006/11/14 21:35:23
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402006/11/14 21:38:46

ポイント70pt

PHP でしたら、mb_string の mb_substr を使えばいいんじゃないでしょうか?

http://jp.php.net/manual/ja/function.mb-substr.php

id:tetsuyuki

なぜかうまくいきません。

もしかしたら、カットの前にhtmlのタグを取り除く処理をしているのですが、それがうまくいってないのかも・・

タグを取り除く関数って出来合いのものはあるのでしょうか

2006/11/14 22:06:03
id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/11/14 21:52:43

ポイント100pt

文字数が200文字であれば以下で

出来ると思いますが。

(※:200byteではありません)

mb_strimwidth

http://www.php.net/manual/ja/function.mb-strimwidth.php

mb_substr

http://www.php.net/manual/ja/function.mb-substr.php


200byteにしたい場合は、

strlenで200以下になるまでmb_substr/mb_strimwidth

切り取り範囲を短くすればよい。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 きゃづみぃ 13539 10064 1198 2006-11-14 21:44:13

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません