ベストアンサー 文字数の計算? 2005/04/19 08:30 PHP初心者です。 変数の中に9文字以上があった場合、次の処理を 行わないようにしたいのですが 『変数の中の文字数を調べる』ような 関数はあるのでしょうか? ご教授お願いします。 みんなの回答 (3) 専門家の回答 質問者が選んだベストアンサー ベストアンサー iiikkk ベストアンサー率37% (92/247) 2005/04/20 09:05 回答No.3 #1です。 実際にやってみればすぐ分かると思いますが、 strlenでは、日本語混在関係なく総バイト数を返します。 mb_strlenでは、文字数を返します。 「1あ2い」の場合、 strlenでは6を、mb_strlenでは4を返します。 質問者 お礼 2005/04/21 08:37 そうだったのですか。 ようやく理解する事が出来ました。 ありがとうございました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (2) mar0325 ベストアンサー率88% (8/9) 2005/04/19 23:47 回答No.2 文字数を調べる変数に日本語は入っているのでしょうか? 日本語が入っている場合には,mb_strlenが良いと思います. 質問者 補足 2005/04/20 00:30 ご回答ありがとうございます。 変数の中には、基本的には英数字が入りますが 日本語が入る場合もあります。 混合で入る場合もあります。 その時でも、mb_strlenで正確に調べられるのでしょうか? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 iiikkk ベストアンサー率37% (92/247) 2005/04/19 08:45 回答No.1 長さ = strlen(変数) これのことですか。 質問者 補足 2005/04/20 00:31 早速のご回答ありがとうございました。 長さを測る分には問題ないと思うのですが 日本語が入っていた場合も 正確に長さを調べられるのでしょうか? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A 変数内の特定の文字の数を数えたい パール初心者です。 基礎的なことは知っています。フリーCGIのある程度の改造は出来ますが、自作は出来ません。 質問は変数の中にある特定の文字の個数をカウントする方法です。 変数 $abc="01_01_01" があるとします。 この変数の_(アンダースコア)の数を数えたいのです。 _の数を数えて2個以上ある場合、別の処理をさせたいと考えています。 パターンマッチ演算子を使えばいいのだと思うのですが、私の知識ではよくわかりませんでした。 初心者にもわかりやすい説明で教えてください。 お願いします。 文字数によって処理内容を変更 変数には文字が入っています。 変数の文字数が50文字以上だった場合の処理をさせたいのですが、うまくいきません。 下記のようにしてみたのですができませんでした。 どうかご指導いただけないでしょうか? お願いします。 if (($ROWKDATA[5] ne '') and ($ROWKDATA[5] > 50)) { } 変数内の文字列を指定した数のみ表示。 こんばんわ。 PHPで変数の中にこんな文字列があったとします。 $a="最近Okwebのサイトのデザインにもだいぶ慣れてこっちのほうがよいのでは。と思うようになってきました。" 普通に表示させるならこれだけと思うんですが、 echo $a 任意の文字数を表示させる関数が思い出せないし検索しても引っかからないです。 アドバイスいただけるとありがたいです。 よろしくお願いします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム なぜ、変数は数じゃなくて文字なども入るのに、変数と なぜ、変数は数じゃなくて文字なども入るのに、変数と呼ぶんでしょうか? 変名とかならまだわかりますが 数って。 phpで$name = "山田" 文字数について プログラム初心者です mysqlのカラム、varchar(255)に実験で270文字HTMLフォームからmysqlに入れてみました そうしたら、255文字しか保存されていませんでした もしかしたら、PHPで文字数制限しなくてもmysql側のカラムの文字数設定だけでいいのではないかと思ってしまいましたがこれだと不具合とかでてきますか? データ型のtextも文字数指定できるのでしょうか? やっぱり、文字数制限はPHPなどでやったほうがいいのでしょうか? よろしくお願いします 文字を16進変換 C言語にて関数などを使わずに計算式なので文字を16進数に変換したいのですがどのような処理にしたらいいでしょうか?? char型で用意した変数に1文字を格納し、それをアスキーコードの16進数に変換したいです。 よろしくお願いします。 半角の文字数を知るには・・・ 文字数は、length関数を使えばいいのかと思っていたのですが、どうも、半角と全角では認識が違うようなんです、どう区別して文字を数えたらいいのでしょうか・・・ 半角の文字数をしるにはどうしたらいいでしょうか? Perl初心者なので、出来るだけわかりやすく教えて頂きたいです。お願いします。 エクセルの1セルの最大文字数はいくつ? エクセルの関数、TRIM、JIS、ASC等を実行したら、#VALUE!が出てしまいました。 文字列(かなり長い)をTRIMで空白を削除し、JISかASCで全角、半角を統一しようと試みました。 上手くいきそうな感じでしたが、その中の4セルに【#VALUE!】と表示されました。 大部分はその処理が正しく実行されているのに、その4つのセルは何故、どうして?? そのセルを調べたところ、そこにはかなり長い文章(文字数)が入力されていたので、半分くらいカットして再実行してみたら、今度は正しく処理されました。 1セルに入っている文章(文字数)が多すぎたのでしょうか? 1セルには何文字(バイト)が許容されるのか、また、1セルで何文字(バイト)以上の場合は、関数は使用できない(通用しない)などの決まりはあるのでしょうか? 今回の場合は、24件で列も30列ぐらいでしたので、【#VALUE!】のエラーも気が付きましたが、これが何百件、数百列となると、エラーに気が付かないかもしれません。(気が付きにくくなります。) 1セルに入力できるおおよその文字数(バイト)は、いったいどれくらいなのでしょうか? お分かりの方がいらっしゃいましたら、アドバイスお願いします。 EXCEL、文字の数をカウントしたい。 エクセル関数を使って、文字(100文字以上)の数をカウントしたいのですが、可能でしょうか。 例えば:セルに一つずつ、ABCAAACDを入力した場合に、A=4、B=1、C=2、D=1 のように表示したいんです。 ※Aを数える場合に、IF関数を使ってAのとき1となるように IF(A1="A",1)+IF(A2="A",1)+・・・+・・・のように順次足していけば短い文字であれば可能ですが、文字数が多くなってくると、セル内に関数がはいりきらずに計算できなくなります。別の関数をつかってより簡単に計算できないでしょうか? SJISのCHAR(8)に入れられる文字数について SJISのCHAR(8)に入れられる文字数について MySQLのver 5.0にて、文字コードをSJISにして、カラムをCHAR(8)で設定した場合、 英数字1バイト文字の場合、16文字まで入れられるのでしょうか? それとも、単純に文字数で弾かれるのでしょうか? 現在、ver 4.0.24(文字コードは全部Cでいうところのchar1バイトで扱う)から、ver 5.0台に移行を考えており、移行するとした場合、PHPなどのプログラムをどの程度変更しなければならないかを考えています。 たとえば、CHAR(8)のカラムへデータを入れる場合、PHPで if( strlen($hoge) <= 16 ){ $hogeをCHAR(8)のカラムへINSERT処理 } とすると、$hogeが英数字だった場合、16文字まで、INSERT文にかかってしまうのですが、これで問題なく16字までINSERT出来るのかどうか知りたいのです。 以上、よろしくお願いします。 文字列を特定文字で分割したい はじめまして。宜しくお願いします。 現在Access2002のVBAをつかってタイトルのようなことを実現したいと思っています。 Dim a As String Dim b As String という二つの変数を用意して 「C:\Documents and Settings\デスクトップ\test.csv」という文字列が与えられているとき 変数aには「test.csv」を、変数bには「C:\Documents and Settings\デスクトップ\」を 格納しようとしています。 スマートなやり方がわからず、 文字列の右から一文字ずつ比較して行き、何文字目に「¥」が出てくるかをカウントして、right関数とleft関数で分割を行っています。 このような処理を行う場合、なにか適した関数があると思い探しているのですが、 なかなか見つからず、行き詰っています。(そのような関数があるのかも分からず・・) もしもなにかお気づきの方が居られましたら、ご教授宜しくお願いします。 文字数の制限について TextBoxの文字数の制限が上手くいかなくて困っています。 ◆問題点1 最大入力文字数を、半角は50文字、全角は25文字と設定したいです。 下記の質問を参考にし、キーボード入力の制限をかけることが出来ました。 質問:テキストボックスへの文字の入力について http://oshiete1.goo.ne.jp/kotaeru.php3?q=287224 しかし、最大文字数が入力されているときに「貼り付け」を行うと 設定以上の文字数が入力されてしまいます。 入力文字数+貼り付け文字数が、最大入力文字数よりも長ければ、 コピーを禁止したいのですが、何か良い方法はございますか? ◆問題点2 MaxLengthに設定した最大文字数よりも1文字分長く、入力できてしまいます。 MaxLength = 4 と設定したTextBox(仮に「Text1」とします)に半角文字を4文字分入力します。 (このとき、ぴったし4文字分キーボードを押下します。) 次に半角文字2文字分をコピーし、Text1のなかの1文字をドラックして貼り付けます。 (ドラックする文字は最後尾以外です。) 上記手順を行うと、Text1には5文字分入力されてしまいます。 どのような処理を行えば、"4文字まで"と必ず制限できますか? 問題点1、2のどちらか一つでも構いませんので、対処法を教えていただけますか? 宜しくお願いいたします。 なお、環境は Microsoft Windows 2000 Microsoft Visual Basic 6.0 です。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム エクセルで文字数を数えたいのですが よろしくお願いします。 エクセルでたとえば A1とB1のセルに 1,2,3,4,5,10 と入力されているとします。 ここから 1又は1,という文字数の合計を 抽出したいのですが 適切な関数が見当たらず 組合せもわかりません。 この場合 範囲はA1:A2 で 2(個)という 数値を欲しいのですが セルの数や 左から何個目なのか ではなく 文字の合計数を 知りたいのですが。 文字の置換や検索みたいに 見つけて その個数を知りたいのですが どなたかお願いいたします。 応用編で漢字の数や ひらがなの数(個数)を 1セルの中から又は多数のセル範囲から 指定文字の合計個数を抽出したいなど考えています。 初心者の為申し訳ありません。 ビジュアルベーシック?マクロ?アドイン?な状態です。 よろしくお願いいたします。 エクセル2003です。 16進数を2進数に変換するコードを知りたい 16進数を2進数に変換するコードをselect caseを用いて作りました。 しかし、遅いです。 場合分けの考え方を利用して、例えば変数がFだったら・・みたいな感じで16個のcase全てを書いてみたのですが、もし他にもっと早く処理する方法が合ったら教えてください。 また、データ型はこれが最良でしょうか?? データ型 変数1、2 使用文字:相当長い文字列のためstring 変数3 使用文字:1-0,A-F,及び0000-1111:string 変数4、5 使用文字:1-1,000,000程度:integer PHPの文字化けについて 宜しくお願い致しますm(__)m PHPを覚え初めてまだ一週間という初心者なのですが、ご質問させて下さい。初心者向けのPHP入門書を買ってフォームの作製をしたんですが、localhostでテストしてみるとちゃんと文字が表示されるんですが、サーバにアップしてテストするとphpの部分で、変数の部分が文字化けするんです。通常のphpの中のhtml部分はちゃんと表示されるんですが、変数に代入している文字や数字が化けるんです。なぜでしょう(T_T) どなたかお知恵をお貸し頂けると大変助かります。 文字列の再計算(?) テキストボックスに 3*(8-4) と入力すると12と計算してくれる方法はあるのでしょうか?(俗に言う関数電卓の処理方法です) まだ3項くらいの演算ですが、実際に扱いたい項数はもっと多いので、 場合わけが大変なのです。 もちろん計算できなかった際の処理も必要ではありますが、 実際に計算できる文字式を入力した場合、正しく実行してくれる方法がありましたら、 どなたかご教授いただけないでしょうか? 宜しくお願いします。 PHP4での文字数のチェックのしたかについて はじめまして、PHP4の初心者です。 PHP4で、全角/半角の判断または、全角半角それぞれの 文字数を数えさせたいのですが、どのようにしたらいいのか、よくわかりません。 簡単にチェックできる方法がありましたら教えてください。 宜しくお願いします。 文字列変数で行端のスペースの個数を知りたい Excelのマクロで文字列の入った変数があります。 文字列の最後は必ず1個以上のスペースが付いていますが、最大7個続いている時もあります。 このスペースが何個か?を出したいです。 こういう場合、Right関数やReplace関数と繰返し構文を合わせて個数を数えていくのでしょうか。 それとも一発で数が出せる関数などが有るでしょうか。 phpのXSS対策 どこに問題が? phpのXSS対策について質問があります。 あるphpの参考書に以下のような記述があったのですが、理解できません。↓ ---------------------------------------------------------------------------------- ただし、htmlspecialchars()関数でのエスケープ処理は「&」「<」「>」「"」「'」を文字参照に変換するものなので、これらの文字をまったく使わずにJavaScriptのコードを記載できる場所に変数を表示させるようなHTMLを書いてしまった場合は対策できません。 たとえば、以下のような場所に変数を表示する場合です。このようなコーディングをしてしまった場合は、htmlspecialchars()関数でのエスケープ処理はXSSを防ぐことはできません。このような場所に変数を書かないように注意してください。 <a href="<?php echo $input; ?>"> ---------------------------------------------------------------------------------- この記述を書いてしまうとなぜhtmlspecialchars()関数では防げないのでしょうか? よろしくお願い致します。 文字型データのバイト数をカウントするには Java Scriptで文字型データのバイト数をカウントする関数は何でしょうか? PHPでいうmb_strlen()のようなものです。 どうぞよろしくお願いいたします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
そうだったのですか。 ようやく理解する事が出来ました。 ありがとうございました。