OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

textareaの入力禁止文字チェック

  • すぐに回答を!
  • 質問No.150043
  • 閲覧数1442
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

こんにちは。
初歩的なことかもしれませんが、不思議な現象?に困っています。

textareaから入力された文字列の中に入力禁止文字がないかどうかチェックしたいのですが、textareaで改行を行った場合、一番下の行のチェックしか出来ません。
ソースは以下です。

if (preg_match("/[$check_word]+$/",$text)){
$msg = '本文に入力禁止文字が含まれています';
}

なお、改行コードを削除してからチェックしても、同じ現象が起こっています。
//$text = preg_replace("/\n|\r/","",$text);

どなたか回避策などご存じないでしょうか><
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 41% (324/772)

入力禁止文字がないかどうかチェックならば、
if( ereg("[$check_word]*", $textarea, $retbuf) )
{
// 入力禁止文字がある
}
で判断できませんか?

eregは状況に応じてeregi、mbereg、mberegiに変更可能。

こういった理由でなければ、
$check_word内の文字列(?)が悪い、つまり、正規表現でない可能性があります。
きちんとエスケープしなければならないものはエスケープ処理しましょう。
たとえば、「"」「\」「[]()」は適宜エスケープ処理してありますか?
お礼コメント
noname#45976

おおお!すごいです~!

preg_matchをeregにしたら正常動作になりました!
親切な即レス感謝します!

どうもありがとうございました!m(_ _)m
投稿日時 - 2001-10-12 16:44:01
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ