PHP5使用者です。
ereg() でよくわからないエラーに直面して悩んでおります。
例えば、サンプル文字列が半角数字a~z又は -(ハイフン)のみで構成されているか調べたい場合、以下の方法を試しました。
1)if( ereg("^[\-a-z]+$", $str )){
2)if( ereg("^[a-z-]+$", $str )){
3)if( mb_ereg("^[\-a-z]+$", $str )){
4)if( preg_match("/^[\-a-z]+$/", $str )){
但し $str はシングルバイト文字です
結果、1)のみエラーになります。-をエスケープしているのになぜでしょうか?
文字コードはShift_JIS、EUC-JP、UTF-8とも試しましたが同じでした。そもそも常にマルチバイト関数を使うべきとか…?
解説していただける方、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
preg_matchはUTF-8の場合のみマルチバイトに対応しています。
パターン識別子のuオプションの指定が必要です。
その他の文字コードについてはmb_eregを使うのが妥当でしょう。
参考URL:http://jp2.php.net/manual/ja/reference.pcre.patt …
ありがとうございます。
そうですか。マルチバイトが出てこないならmb_は蛇足と思っていましたがそんなことないのですね。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
全角括弧と全角読点の間隔を狭...
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
半角記号、全角記号を含む正規...
-
エクセルのCOUNTIFが正しくカウ...
-
Replace関数は文字数の制限ある...
-
文字列中の両丸括弧を取り除くV...
-
「半角スペース」と「 」...
-
【PHP】半角「\\」を全角「...
-
XMLのタグ名の禁則文字
-
記号は半角と全角どちらがよい...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルでデータを30バイト...
-
文字列前後の「全角空白/半角空...
-
=code(" ") で値が160となる文...
-
全角半角変換 C++/CLI
-
Phonetic関数を利用して文章中...
-
Accessの文字数を調べたい
-
半角英数字のみを受け付ける入...
-
なぜインターネットでは半角カ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel関数「COUNTIF」で”文字”...
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
エクセルのCOUNTIFが正しくカウ...
-
半角記号、全角記号を含む正規...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
全角英数文字が嫌われる理由を...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
Replace関数は文字数の制限ある...
-
文字列中の両丸括弧を取り除くV...
-
携帯電話の相手の電話番号にメ...
-
エクセルでの漢字、カタカナ、...
-
2つ以上の連続する空白文字を除去
-
Excel2002 一桁数字だけ全角に置換
-
VBScriptである文字列に半角文...
-
IT企業の技術屋にとって全角英...
-
特定の文字を簡単な操作で半角...
-
半角文字と全角文字の判別の仕方
おすすめ情報