![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.5ベストアンサー
- 回答日時:
preg_match の場合
if(preg_match('/[;&%<]/',$text )){
#含まれている場合の処理
}
てな感じで・・
BLUEPIXY様
早速のお返事ありがとう御座います。
「どうなっているんだろう…」と、preg_matchに関するサイトを見ていましたが、これで解決いたしました。
BLUEPIXY様のお教え下さった内容は勿論、galluda様が教えて下さったサイトおよび対処法、そしてpokapoka1980様が記述して下さったスクリプトの理解を深めつつ、この場をお借りし今回の質問に対するお礼をお伝えできればと思います。
有難う御座いました!
No.4
- 回答日時:
間違い
if ($n==0 || $n===false)
return true; // $word文字は$inputdataない
return false;// $word文字は$inputdataにある
やっぱり下手か。。。
pokapoka1980様
はじめまして、こんにちは。
お忙しいなかお時間を割いていただいた様で有難う御座います。(時間を割くという意味では他の皆様も同様に感謝しておりますが…)
初心者なため、poka1980様のコードが理解出来る様で出来ないような、と言ったところが正直なところですが、理解を深めて改めてお返事いたします。有難う御座いました。
No.3
- 回答日時:
stripslashes(htmlspecialchars(入力データ)))では?
駄目なら、適当だけど
function Is_This_Word_NG($word,$inputdata)
{
$n=preg_match_all("/[$word]/",$inputdata,$result);
if ($n==0 || $n!==false)
return true; // 指定文字あり
return false;// 指定文字はない
}
みたいな関数を作って繰り返し行うとか。(下手糞すぎるか。。)
No.2
- 回答日時:
がると申します。
「規制」の意味次第ではあるのですが。いずれも、正規表現系のライブラリがとりあえず直接的には有効かと。
もし「入力されたらエラーを出したい」のであればhttp://php.s3.to/man/function.preg-match.html
あたりが扱いやすいかと思います。
これで「使って欲しくない文字」を検索して、1文字でも引っかかってきたらエラーを出力、という感じでしょうか。
もし「入力されても出力時に適切に表示したい」のであれば、
http://php.s3.to/man/function.preg-replace.html
を使うか、あるいはもうちょっと雑にやるのであれば
http://php.s3.to/man/function.htmlspecialchars.h …
を使ってみるのも良いかもしれません。
ちなみに、JavaScriptによる制限はきわめて簡単に迂回が可能なので、あまりお勧めいたしません。
がる様
いつもお世話になっております!
ご親切なアドバイスに感謝いたします。
と、先のBLUEPIXY様も、がる様同様、preg_matchをお勧めいただいたので、お教えいただいたサイトの内容を何度も読み直してはいるのですが、お恥ずかしいながらにも初心者の私には、私が設定したいと考えているスクリプトにあてがう事が出来ません。
試しにと、サンプルコードを記述してみたのですが、思うように行かないのが実情です。
引き続きアドバイスなど頂ければ幸いです。
No.1
- 回答日時:
PHP5なら
if(strpbrk($text, ';&%<')){
で
あるいは、
ereg か preg_match を使うとか
PHPでは、一度フォーム送信されてからしかチェックできないですよ。
入力の際にということであれば、javascript を使うことになると思います。
BLUEPIXY様
はじめまして、こんにちは。
夜遅くの回答を有難う御座います。
>if(strpbrk($text, ';&%<')){
これか!と思ったのですが、私が使っているのはPHP4なんです。。こういったところにもバージョンの違いが出てくるのですね。
>ereg か preg_match を使うとか
こちらも調べては見ましたが、質問に書いた、
mb_strlen($id) < 21というのは、フォームに入力した文字数が21以下だったら、といったif文に記述しているのですが、お教えいただいた関数を調べたところ、どのように設定したら良いか分かりません…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- その他(SNS・コミュニケーションサービス) 大至急お助け下さい。マストドンの或るインスタンスに登録したいのですが、ユーザー名で半角英数とアンダー 1 2023/08/25 10:33
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Visual Basic(VBA) vba 15 2023/04/07 12:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソフトバンクのUSERAGENTうまく...
-
、"(ダブルクォーテーション)...
-
正規表現で「0」のみ抽出
-
電話番号のチェック ハイフン...
-
VBAを使ってHTMLソースから特定...
-
ピリオドは「文字列連結演算子...
-
PHPで変数から1行目だけを取得...
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
phpでhtmlソースを解析し、文字...
-
正規表現の書き方について
-
VBAのコマンドボタンの文字列の...
-
REGEXREPLACE関数について、
-
ダブルコーテーション(
-
文字の入力で横バー上段、中断...
-
エスケープ文字の復帰(¥r)と...
-
ソースコードの1行が長いとき...
-
文の改行
-
C++で空Enterの入力を判...
-
COBOLの改行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
preg_matchでエラーが出ます。
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
PHPで変数から1行目だけを取得...
-
正規表現でシングルクォーテー...
-
、"(ダブルクォーテーション)...
-
正規表現で「0」のみ抽出
-
住所から特定の文字列、数値を...
-
PHPで あるフォルダ内の、特定...
-
phpでhtmlソースを解析し、文字...
-
PHPで<a>タグ内からURLと文字を...
-
正規表現で特定のHTMLタグのク...
-
PHPの正規表現で住所を分けるに...
-
Smartyを使用した、テンプレー...
-
PHPによるIPアドレスマッチ
-
正規表現で、半角大文字と半角...
-
php 正規表現で(ただし○○は除...
-
PHPメールフォーム URLと半角...
-
「半角数字」と「+」を許可する...
-
preg_matchでのマッチが正しく...
おすすめ情報