人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: tetsuyuki
●カテゴリ:コンピュータ
✍キーワード:カット バイト 文字列 日本語 普通に
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● きゃづみぃ
●27ポイント

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

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

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

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

◎質問者からの返答

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


2 ● b-wind
●70ポイント

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

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

◎質問者からの返答

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

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

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


3 ● kurukuru-neko
●100ポイント

文字数が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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ