• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:textareaの入力禁止文字チェック)

textareaの入力禁止文字チェックに関する不思議な現象に困っています

selenityの回答

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

入力禁止文字がないかどうかチェックならば、 if( ereg("[$check_word]*", $textarea, $retbuf) ) { // 入力禁止文字がある } で判断できませんか? eregは状況に応じてeregi、mbereg、mberegiに変更可能。 こういった理由でなければ、 $check_word内の文字列(?)が悪い、つまり、正規表現でない可能性があります。 きちんとエスケープしなければならないものはエスケープ処理しましょう。 たとえば、「"」「\」「[]()」は適宜エスケープ処理してありますか?

noname#45976
質問者

お礼

おおお!すごいです~! preg_matchをeregにしたら正常動作になりました! 親切な即レス感謝します! どうもありがとうございました!m(_ _)m

関連するQ&A

  • textarea内のタグを反映させたいのですが

    http://okweb.jp/kotaeru.php3?q=984300を参考に 改行を犠牲にして自動リンクを利用できるようにしたのですが、 HTMLの一部に編集内容を反映したいため FONTタグ等も利用したいんです。 何か良い方法はありませんでしょうか? よろしくお願いします。 <?PHP 文字制限のため省略ですが参考元と同様です。 ?> <html> <title>テキストファイルのデータ更新</title> </head> <body> <form method="post" action="edit.php"> data1の変更 - <textarea name ="data1" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data1']); ?></textarea><br> data2の変更 - <textarea name ="data2" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data2']); ?></textarea><br> data3の変更 - <textarea name ="data3" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data3']); ?></textarea><br> <input type="submit" value="送信"> </form> <table> <tr><td>data1</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data1']); ?></td></tr> <tr><td>data2</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data2']); ?></td></tr> <tr><td>data3</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data3']); ?></td></tr> </table> </body> </html>

    • 締切済み
    • PHP
  • textarea と、 input type の質問。

    <textarea>なにがし</textarea> これは、ユーザに入力を促す際、 あらかじめ表示させておく文字ですが、 <textarea>なにがし<BR><BR>それぞれ</textarea> こんな風に、 表示させたい内容を何行か改行した文章を置きたいのですが、 全て繋がってしまいます。 専用の改行コードはあるのでしょうか? また、<input type="text">で、 ユーザの入力開始時の文字を、半角英数に固定して 誤入力を避けたいのですが、 なにかオプションがあるのでしょうか?

  • <TEXTAREA>の文字入力が自動改行されません

    私の環境はWindows8でIE11です。 実は私が作ったPerlの掲示板の<TEXTAREA>に文字入力をしようとしたら、自動改行されないのに気付きました。 ソースは、次の通りです。 <textarea name=comment cols=70 rows=12 wrap=soft style="font-size:15px"></textarea> どっかに問題があるのでしょうか? それとも、私のPCの環境のせいでしょうか? ちなみに、他のサイトの<TEXTAREA>だと私のPCでも自動改行されます。

  • textareaで入力した文字を改行したままで表示したいのですが。

    textareaに複数行で入力した文字を改行したままで表示したいのですが 改行されずに表示されます。 改行したままで表示するのはどうすればいいでしょうか? <HTML> <HEAD> <STYLE type="text/css"> <!-- INPUT {font-size: 12px;} --> </STYLE> <SCRIPT language="JavaScript"> <!-- function check(){ var strName; strName = document.nform.textN.value; var test = document.getElementById("test"); test.innerHTML = strName; } //--> </SCRIPT> </HEAD> <BODY> <FORM name="nform" > <textarea cols="30" rows="10" name="textN"></textarea> <input type="button" value=" 確認 " onClick="check()"> </FORM> <DIV id="test" style="position:absolute;font-size:24px;"> </DIV> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • javascriptで入力禁止文字をチェック

    javascriptで入力禁止文字をチェック 初めて質問させていただきます。 javascriptで入力フォーム(テキストフィールド)に入力された文字列の中に入力禁止文字がないかをチェックしたいとおもっております。 例えば、テキストフィールドに「バカ」「ハゲ」等と入力されており、送信ボタンを押すと「入力禁止文字が含まれています」とアラートが表示されるといったものです。 入力禁止文字がなければ、送信ボタンをクリックし、指定されたURLへジャンプしたいと考えています。 javascriptのソースをお教えいただけたり、参考になるサイトをお教えいただければ助かります。 よろしくお願いします。

  • textareaの入力データで無駄な改行が…

    textareaでデータ入力し、perlで拾うと無駄に改行が入ってしまいます。 <textarea name="textarea_data"> a a a </textarea> これをPerlで拾って表示させると a a a と表示されてしまいます。 改行が無駄に一つ入ってしまっているのですが、考えられる原因は何でしょうか? print "$FORM{'textarea_data'}"; で表示させています。\n等は入れていません。

    • ベストアンサー
    • Perl
  • Textareaの入力文字数チェックについて(タグ無視)

    TEXTAREAの文字数チェックまではできるのですが しかし、今回はHTMLのタグも入力されます。 タグを無視した文字数もカウントをやりたいです。 PHPにはそのような関数があったような気がしますが ... JavaScriptではどのようにすれば実現できるのでしょうか? タグの文法エラーはない前提でよいです。 よろしくお願いします。 <html> <head> <title>入力文字数のチェック</title> <script language="JavaScript"> function check() { txt = document.form1.sample.value; n = txt.length; if (n > 100) alert("100文字以内にしてください"); } </script> </head> <body> <form name="form1"> <textarea rows="10" name="sample" onChange="check()" cols="20"></textarea> </form> </body> </html>

  • [PHP]formのtextareaの改行を消せない

    [PHP]formのtextareaの改行を消せない formのtextareaに改行して数行のデータを入れ、それを改行毎にexplodeで分けて居るのですが、1個1個のデータから改行の情報が消えません。 textareaに 1234 2345 3456 $data=explode("\n",$_POST[textarea]) で、dataに配列として入れて、 echo $data[0] . "," . $data[1] . "," . $data[2]; と表示させてみると、 1234 ,2345 ,3456 と4ケタの数字のあとに半角スペースが入ります。 HTMLソースで見ると改行されているようです。 str_replace("\n","",$data[0]) とやっても、消えません。 この改行(半角スペース)があるため、 if (mb_strlen($data[0])==4) で、Trueにならなくて困っています。 if (mb_strlen($data[0])==4 or mb_strlen($data[0])==5) とすることで解決は出来るのですが、そのほかでも使用したいので、出来れば最初からこの改行(半角スペース)を消したいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • textareaで入力できる文字数を制限したい。

    フォームについて質問させてください。 テキストフィールドで、シングルラインならば入力できる文字の最大数を maxlength で指定できるのですが、マルチラインの場合、同様に最大数を指定することはできないでしょうか? わかるかた、なにとぞご教授ください。 ■シングルラインでの文字数制限 <input name="thread_title" type="text" id="thread_title" size="80" maxlength="10"> ■マルチライン <textarea name="text" cols="64" rows="10" id="news_text" maxlength="10"></textarea> ↑上記のようにmaxlength入れても駄目でした。。。涙

    • ベストアンサー
    • HTML
  • textarea へ、改行させたいテキストデータを書き込むには?

    Perlのprint命令では、print '(1)aaaa <BR>(2)bbbb',"\n"; というように、改行させたい箇所に<BR>を挿入すれば改行させられるとおもいます。ところが、print "<textarea> xxx </textarea>" として、CGIで複数行入力領域を書いたときは、xxxのなかに挿入した<BR>はそのまま文字として表示されてしまいます。  改行させるにはどうしたらいいのでしょうか?  どなたか(ひきつづき^^;;)、御教示をいただければ幸いです。

    • ベストアンサー
    • Perl