日本語と数字を同じように表示する方法

このQ&Aのポイント
  • 日本語と数字を同じように表示することができずに困っています。改行したい場合、mb_strimwidth関数を使用していますが、希望の表示になりません。
  • 問題の PHP コードでは、mb_strimwidth 関数を使用しています。しかし、日本語と数字では表示が異なり、希望の表示になりません。
  • 日本語と数字を同じように表示する方法はありますか?mb_strimwidth関数を使用しても希望の表示にならず困っています。
回答を見る
  • ベストアンサー

日本語と数字を、同じように表示する方法

日本語と数字を、同じように表示することができずに困っています。 (改行したいです) 下記のようなPHPを書いています。 $val['aaa'] = mb_strimwidth($val['aaa'], 0, 84, "...", 'UTF-8'); ■日本語表示の場合 内容内容内容内容内容 内容内容内容内容内容 内容内容内容内容内容 内容内容内容内容内容... ■数字表示の場合 11111111111111111111111111111111111111111111111111111111111111111111111111111111... 希望は下記になります。 ■日本語表示の場合 内容内容内容内容内容 内容内容内容内容内容 内容内容内容内容内容 内容内容内容内容内容... ■数字表示の場合 11111111111111111111 11111111111111111111 11111111111111111111 11111111111111111111... 希望のように表示することは可能でしょうか? よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数5

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

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.2

まず、思ったことを つらつらと書いてみますね。 今回の質問の根本的な解決ではないので聞き流しでお願いします。 http://questionbox.jp.msn.com/qa7146217.html の質問と合わせて考えると str_split & implode のほうがいいのかも。 変な所で区切れてなければ、wordwrap でもいいかも。 本当に表示上 揃えたいなら、等幅フォントで表示しないと。

a-----n
質問者

お礼

ご連絡ありがとうございます。 word-wrap: break-word; でやってみました。 ありがとうございました。 助かりました★

その他の回答 (1)

noname#147388
noname#147388
回答No.1

word-wrap: break-word; 以上。

a-----n
質問者

お礼

ご連絡ありがとうございます。 ありがとうございました。 助かりました★

関連するQ&A

  • 文字数制限について

    文字数制限について教えてください。 下記のようにPHPで設定しているのですが、 全部数字を入れた場合、日本語よりもかなりオーバーしてしまいます。 バイト数が違うからだと思いますが、 日本語と同じ幅で表示する方法はありますか? $val['aaa'] = mb_strimwidth($val['aaa'], 0, 84, "...", 'UTF-8'); 現在 あああ 111 ↓ 希望 あああ 111111 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 文字数制限と横幅について

    横幅の設定についての質問です。 下記のように設定しています。 $val['aaa'] はDBより、foreachでまわしています。 たとえば、下記のような111...とあああ...の場合、 あああの場合は、width:160pxで改行されます。 が、111の場合は改行されずに、160pxを無視してしまいます。 無視しない方法はありますでしょうか? $val['aaa'] = mb_strimwidth($val['aaa'], 0, 30, "...", 'UTF-8'); <div style="width:160px;"> <a href="./pop.php>111111111111111111111111111111 </a> </div> <div style="width:160px;"> <a href="./pop.php>ああああああああああああああああ</a> </div> よろしくお願いします。

    • ベストアンサー
    • PHP
  • 日本語表示ができない

    こんばんわ。 winXP+apache2.2+php5で日本語が表示されません。 UTF-8で設定したいのですが、 C:\WINDOWS\php.iniの設定>下記はとあるサイトを参考にしました mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.substitute_character = none mbstring.detect_order = UTF-8,SJIS-win,eucJP-win     or mbstring.detect_order = UTF-8 C:\WINDOWS\system32\php_mbstring.dllに入れました。 ですが、php_infoで確認してもmb_系が全くでてきません。 何か他の設定(抜け?)があるのでしょうか?

    • 締切済み
    • PHP
  • 名前が日本語のファイルダウンロード方法

    IEでページを表示して、そこのリンクをクリックするとダウンロードの画面が開きダウンロードするという方法で http://test.com/日本語.xls をクリックしたとき、ファイルはあるにもかかわらず、ファイルがないというエラーが出ます。 php側の文字コードは「utf8」です。 mb_convert_encoding($filename, "SJIS", "utf8") としてもダメでした。 この方法でダメな場合、他に方法はありますか?

    • ベストアンサー
    • PHP
  • urlencodeしていない日本語をPATH_INFOで

    お世話になっております。 Wikipedia等のようにアクセスする際にURLに直接書いた日本語を PATH_INFOで受け取って処理をしたいのですが、うまくいきません。 試しに、 echo $_SERVER['PATH_INFO']; echo mb_convert_encoding($_SERVER['PATH_INFO'],"utf-8","sjis"); echo urldecode(mb_convert_encoding(urlencode($_SERVER['PATH_INFO']),"utf-8","sjis")); とした、BOM付UTF-8のPHPファイルに、 http://~/test.php/日本語 で[日本語]を色々変えてアクセスすると、 一行目と三行目は同じ結果になり、二行目だけ異なった結果となります。 一・三行目が上手く表示された時は二行目が文字化けしており、 一・三行目が文字化けした時は二行目が正常に表示されています。 (全てが文字化けすることもあります) どのようにすれば文字化けが起こらず、うまく受け取れるのかが分かりません。 本当はUTF-8ではなく、EUC-JPで行いたいのですが EUCはほとんどの場合、文字化けしてしまいます。 どのようにすれば良いのでしょうか。ご教授を宜しくお願い致します。 なお、php.iniは変更できません。

    • ベストアンサー
    • PHP
  • ImageStringで日本語表示させたい

    PHP5でGD系の関数で日本語表示させたいのですが、以下の点で困っています。 英語や数値は普通に表示されますが、「パソコン表示」など日本語は文字化けみたいになります。 php.iniでmbstring.encoding_translation = Offとしています。 PHPのソースはutf8n+LFです。 どうしたら正しく日本語が表示できるのでしょうか? $img = ImageCreateFromPng("sample.png"); $str = "パソコン表示"; $str_col = ImageColorAllocate($img, 0, 0, 0); ImageString($img, 5, 10, 10, $str, $str_col); // 文字 // PNG画像としてmimeタイプ出力 header("Content-type: image/png"); Imagepng($img); Imagedestroy ($img);

    • 締切済み
    • PHP
  • PHPで、日本語からアルファベットに変換

    PHP初心者です。 PHPプログラム上で、日本語からアルファベットに変換する書き方を探しています。 漢字仮名まじりの日本語を、アルファベットに変換できますか? 自分では、 $str = mb_convert_encoding($title,"ascii","UTF-8"); という風にやってみましたが、できませんでした。 どなたかお知恵をお貸しください。

    • ベストアンサー
    • PHP
  • フランス語を書きながらギリシア数字を入力する方法は?

    フランス語のフォントでギリシア数字を入力することはやっぱり 不可能なのでしょうか。 日本語であったら、「数字」と入力し変換すればギリシア数字を 表示することができますが、フランス語を書いているときにギリシア 数字を表示したくなった場合どのようにすればよいでしょうか。 みなさんはどのように書いていますか?

  • php5.4でwin 日本語ファイル一覧表示

    こんにちは。 質問の仕方もうまくできずすみません。 現在、PHPを勉強しており、以下作業を行っているのですが うまくいかず、お知恵をお借りしたく質問させていただきました。 作業としてはwindows7ローカルにある「日本語フォルダ」「日本語ファイル」の 一覧をXAMPP PHP5.4を使って表示させたいのですがフォルダ名に「ソーダ」が含まれていると フォルダと下位ファイルが表示されません。 他質問等を見て文字コードの変換が必要とのことなのですが どのようにすればよいかわからないです。 再帰的にすべてのフォルダのファイルを表示するには どのようにすればよいでしょうか? よろしくお願いいたします。 <?php setlocale(LC_ALL, 'ja_JP.SJIS'); mb_convert_variables("SJIS-win","UTF-8", $it); mb_convert_encoding($it, 'UTF-8', 'CP932'); //内部処理用に文字コードをUTF-8とする $it = mb_convert_encoding($path,$it,"UTF-8","SJIS-win" ); //(.)(..)ファイルをスキップ $it = new RecursiveDirectoryIterator('./', FilesystemIterator::SKIP_DOTS); //パスとファイル名を取得 $it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST); foreach ($it as $item) { $path = $item->getPathname(); if ($item->isDir()) { $path .= '/'; } //文字コード変換 $result[] = mb_convert_encoding($path, "UTF-8","SJIS-win"); } echo nl2br(print_r($result, true));

    • 締切済み
    • PHP
  • PHPでURLのソースの中から数字の文字列を検索したいのですが

    PHPでURLのソースの中から数字の文字列を検索したいのですが <?php $str = 85%80%78%77%70%60%; $pattern="/[0-9]+(?=%)/u"; mb_internal_encoding("UTF-8"); preg_match_all($pattern,$str,$matches); foreach((array) $matches[0] as $val) { print mb_convert_kana($val,"a")."<br>\n"; //半角にして表示 } ?> この記述で、文字列から80%のような 全角文字で%の前の文字だけを抜き出せました。 そこでURLからデーターを抜き出すべく ////////ソース////// <table> <TR> <TD>あ</TD> <TD><B>88%</B>/TD> </TR> <TR> <TD>す</TD> <TD><B>85%</B>/TD> </TR> ........... </table> 下記のように記述しましたが <?php $html_data = file_get_contents("http://www.1234.com/1234.html"); if (preg_match("/<table\s.*>([\s\S]*)<\/table>/i",$contents,$matches)){ $contents = $matches[1]; } $str = $html_data; $pattern="/[0-9]+(?=%)/u"; mb_internal_encoding("UTF-8"); preg_match_all($pattern,$str,$matches); foreach((array) $matches[0] as $val) { print mb_convert_kana($val,"a")."<br>\n"; //半角にして表示 } ?> しかし、動作しません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう