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

PHPについて質問です。

現在文字数をカウントするプログラムを作成しようとしているのですが、
入力してもらった文字をどのようにカウントし、出力するかというのがわからず困っております。
時間がある方でプログラムを書いてくださる方おりましたらよろしくお願いいたします。

ビジュアルのHTMLについては作成しております。

http://oskuni7.sakura.ne.jp/title_sakusei.html


カウントされた文字の結果はテーブルの下に 『 作成されたタイトルは何文字になります 』 と表示させたいと考えております。

文字数は全角文字を1文字、半角文字を0.5文字と認識するようにしたいと考えています。

プログラムを書いてくださった方多めにポイントを払わせて頂きます。

よろしくお願いいたします。


●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:HTML PHP カウント タイトル ビジュアル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hijk05
●60ポイント

SIJSを使ってる場合は、strlenの返す値を1/2倍すればよいです。

http://www.scollabo.com/banban/php/ref/ref_strlen.html

-------

SJISでない場合は、

mb_convert_encoding

関数を用いてSJISに変換してからstrlenをすればよいです。

◎質問者からの返答

ご回答ありがとうございます。


2 ● pahoo
●100ポイント ベストアンサー

PHPやサーバの処理環境が SJIS になっているという前提で、下記のような感じでどうでしょう。

<?php
mb_internal_encoding('SJIS');
$myself = basename($_SERVER["SCRIPT_NAME"]);
$title = isset($_POST['title']) ? $_POST['title'] : '';
$len = strlen($title) / 2;
$outmsg = ($len > 0) ? "文字数は $len です。" : '';

echo <<< EOF
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML4.01Transitional//EN">
<html>
<head>
<META http-equiv="Content-Language"content="ja">
<META http-equiv="Content-Type"content="text/html;charset=SJIS">
<title>文字数をカウント</title>
</head>
<body>
<center>
タイトルを入力し、文字数をカウントするのボタンを押してください。<br /><br />
<form name="myForm" method="post" action="$myself">
<table width="100%" cellpadding="5" border="1" bordercolor="brown" cellspacing="0">
<tr>
<td colspan="2" bgcolor="brown" align="center">
<b><font color="white">★ 文字数をカウントするページ ★</font></b>
</td>
</tr>
<tr>
<td bgcolor="gold" width="70%" align="center">
<b>タイトル:</b><input type="text" name="title" value="{$title}" size="150" />
</td>
<td align="center"> 
<input type="submit" name="exec" value="文字数をカウントする" />
</td>
</tr>
</table>
</form>
{$outmsg}
</center>
</body>
</html>

EOF;
?>
◎質問者からの返答

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



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