- ベストアンサー
英語と日本語の文章でそれぞれの文字数をカウント
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ああ、以下の箇所 // 比率の書き出し if($jcnt > $ecnt){ echo round($jcnt / $ecnt)." : 1"; } else if($cnt != $ecnt){ echo "1 : ".round($ecnt / $jcnt); } else{echo "- : -";} は // 比率の書き出し if($jcnt > $ecnt){ echo round($jcnt / $ecnt)." : 1"; } else if($jcnt != 0 && $ecnt != 0){ echo "1 : ".round($ecnt / $jcnt); } else{echo "- : -";} の間違いです。
その他の回答 (1)
- mikemike7
- ベストアンサー率87% (97/111)
回答がないので...。 比率は四捨五入しています。 //1:1ではなくて、100:100とかのほうが正確だと思いますが。 ちゃんとできているかどうかはご自身でお確かめ下さい。 <?php $word = "これは日本語Englishだ"; $enc = "UTF-8"; // 文字コード指定 $jcnt = 0; // 日本語の文字数を格納 $ecnt = 0; // 日本語以外の文字数を格納 // $wordに文字列があれば実行 if($word != ""){ $len = mb_strlen($word,$enc); // 調査する文字列の文字数 while($len > 0){ $len--; $thisword = mb_substr($word, $len, 1, $enc); // 1文字抜き出す // 日本語が含まれている if(preg_match("/[一-龠ぁ-んァ-ヴーa-zA-Z0-9]/u",$thisword)){ $jcnt++; } // 日本語以外 else{ $ecnt++; } } } echo "日本語(".$jcnt.") : 日本語以外(".$ecnt.")<br>"; // 比率の書き出し if($jcnt > $ecnt){ echo round($jcnt / $ecnt)." : 1"; } else if($cnt != $ecnt){ echo "1 : ".round($ecnt / $jcnt); } else{echo "- : -";} ?>
関連するQ&A
- 英語と日本語を分けて文字カウントしたい
英語・日本語混合のテキストデータ(元はWORD)のうち、日本語部分だけ文字数をカウントしたいと思っています。 そこで、秀丸に載せた上でタブ・スペース・改行をすべて取り除き、シェアウエア等でソートをかけ、WORDに戻して文字カウントを行うことを思いつきました。 Easysort (http://www.vector.co.jp/soft/win95/util/se057281.html)等を試しているのですが、WORDに戻すところがうまくいきません(ソート前のデータがWORDに載ってしまいます) どんな方法でも構いませんので、英語と日本語を分けて文字カウントする方法はないでしょうか?
- ベストアンサー
- その他(ソフトウェア)
- 文字数を正しくカウントし、長さを整える
現在phpでアプリを作成しているのですが、入力の際に文字数を制限したいと思っています。たとえば200文字までの入力に対し213文字入力されたとします。その場合ははじめの1文字目から200文字目を残し、のこりを破棄したいと考えています。 また、1文字のカウントの際、普通に行うと半角英数字の1文字の入力と日本語の1文字の入力では日本語が2バイトになってしまいます。そうではなくて言語に関係なく1文字として認識するようさせるにはどうしたらいいのでしょうか?宜しくお願いします。
- ベストアンサー
- PHP
- Outlookで英語と日本語文章を(助けて下さい)
取引先に転送するEmailですが英語と日本語訳文章をうって送信する前にプレビューでチェックしてみると「??????」が沢山でて日本語が表示されていません。英語のみの場合は大丈夫なのですが日本語が入ると日本語の部分だけハテナマークが出てしまいます。ツールからオプションのところでフォントを変えたことが原因なのかなと思い直してはみたもののハテナマークが出てしまいます。ご存知の方、教えて下さいませんでしょうか?宜しくお願い致します。
- ベストアンサー
- その他(メールサービス・ソフト)
- 日本語文字が英語文字になってしまった。
日本語文字が英語文字になってしまった。 Vista IE 8 いつの間にかメニューバーとツールバーの文字が日本語文字から英語文字に替わってしまいました。 こうなったについては、IE 7をIE 8に変えたからではないかと考えますが、定かではありません。 ほかに誤操作をしたのかわかりません。 どうしたら英語文字から日本語文字に戻せるか? お手数をおかけしますが、ご教示をお願いします。
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- 日本語→英語の翻訳料
日本語→英語の翻訳料について教えてください。 ふつうは文字数でカウントされるのですか? A4で1ページくらいだとざっといくらほどなのでしょうか。 日本文は特殊なものでなく子供用の簡単な文章です。 よろしくお願いいたします。
- ベストアンサー
- 英語
- 英語のピリオドを,日本語の英語交じりの文章の中で,「p.」という文字で選択させるにはどうすればいいですか?
ワード2007を使っていますが,英語のピリオドを,日本語の英語交じりの文章の中で,「p.」という文字で選択させるにはどうすればいいですか?いつも,「p。123」となってしまいます。
- 締切済み
- オフィス系ソフト
- 日本語のプレゼンテーションで 英語
今英語のプレゼンテーションを、翻訳しているのですが 日本語のプレゼンテーション中に、同意味の単語を日本語と英文字、両方が存在するは どうなのでしょうか? 問題の単語は、文字数が長い商標ぽい(30字くらい)ので、見出し等では英語で使用し 文中では日本語カタカナで記入しています。 この方が分かりやすいのかなと思い、そのようにしていますが マナー的には同なのでしょう? またこのプレゼンを日本語で論文化した時には、どのように扱えば良いのでしょう? 日本語の文中に長い英語が来るのはどうかとも思いますが、固有名詞なので このまま使用したいと言う気持ちもあります。 お手数ですが、教えていただきたく よろしくお願い致します。
- ベストアンサー
- その他(ビジネス・キャリア)
お礼
ありがとうございました。 お礼が遅くなってしまい申し訳ありませんでした。 是非参考にさせて頂きます。