• ベストアンサー

フォームから送られる改行文字の置換え

ASP初心者です NT4.0WS+PWSで簡単なアンケート収集スクリプトを 作成しています、 フォームからPOSTで送られる 文字列から改行文字(\r\n)を削除したいのですが message=Replace (message,"\r|\n","") では削除できません、どのようにすればよろしいでしょうか?

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

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

単純に元のテキストエリアのタグを <textarea name="message" wrap="soft"></textarea> にすると改行コードは除いて送信されます。 ASP内で取り除く場合だと message = Replace(message, Chr(13) & Chr(10), "") で取り除くことができます(文字コードがSJISの時) 参考まで

siramora
質問者

お礼

早速のご回答ありがとうございます タグでの改行文字削除はiCab等の少数派 ブラウザでは反映されませんでした、 ご回答いただいたReplaceコマンドで無事に 削除できました、ありがとうございました。

関連するQ&A

  • 改行文字の処理について

    ASPプログラムにてsqlserver2000から値を取得してcsvに 出力する時に改行文字が含まれていたら例えば"A"にreplaceしたのですがうまくいきません。 replaceの使い方が間違っているのでしょうか? strA = Replace(strB, "/r/n", "AA")

  • 【php】改行にエスケープ文字が入る

    phpで  $_GET['a'] = stripslashes($_GET['a']); $_GET['a'] = mysql_real_escape_string($_GET['a']); $_GET['a'] → インサート と途中に stripslashes mysql_real_escape_string をはさんでから GETやPOSTを取得してるんですが改行が改行コードに変わってしまいます。 例えば質問フォームとかで  ---------------------------------------- 質問内容 ---------------------------------------- なんたら かんたら  ↓ サブミット ---------------------------------------- 投稿確認 ---------------------------------------- なんたら\n\rかんたら みたいなかんじです。 一旦文字コードをEUCにかえてから mysql_real_escape_stringを挟んだりしたりもしてみてますが 改行が改行コードになってしまいます。

    • ベストアンサー
    • PHP
  • textareでの改行

    ホームページ上のtextareaで入力してもらった情報を取得するCGI(perl)スクリプトを書いています。流れとしては,フォーム上で入力した情報をCGIで取得→確認画面を表示→問題無ければメールフォームとして送信,となっています。 このスクリプト上で問題となっているのが,textareaでは自動的に改行処理(wrap=softと同じ?xhtmlで書いているので,wrap属性は指定していません。)するときに入力される改行コードと,入力者が意図的に入力する改行コードを判別出来ないということです。自動的に挿入される\n(0x0A)を削除しようとスクリプト上で, $text =~s/\r\n/\n/g; $text =~s/\r/\n/g; $text =~s/\n//g; と入れたところ,全ての改行コードが変換処理されてしまい,入力者が意図的に入れた改行コードまで処理されてしまいます。 スクリプト上,もしくはxhtmlと組み合わせて,自動的に挿入される改行コードだけを消去して,意図的に入力した改行コードだけを残す処理は出来ないものでしょうか? phpなどを使うと出来るようですが,ある程度perlのcgiで作成してしまったので,このままで出来ればと思っています。よろしくお願いします。

  • 改行文字保存時のゴミ

     現在、フォームからのデータ入力などに関して勉強しているのですが、<textarea>からデータを入力すると、1バイトの改行文字が、改行ごとにくっついてきます。  改行自体はされるんですが、その余計なものが付いてくるのが困っています。何かしらのスクリプトをダウンロードしたときなども、時々改行部分が半角の■に変わってまして、つまり改行されずにごっちゃになって表示されてしまいます(別の方法で置換処理できるので自分はどーでもいいんですが)。  他のパソコンから同じCGIをアップロード、実行してみると、以外にもそういった影響はありませんでした。何となく、文字コードが機種とか環境などによって違ってるせいかな、とは感じているのですが、対処法が分かりません。  スクリプトにどういった手を加えれば、これが出ないようにできるのでしょうか?どうかご教授をお願いします。

    • ベストアンサー
    • CGI
  • 文字+改行コードの置換について

    文字+改行コードの置換についてご教授ください。 テキスト内の数字「9」とそれに続く改行コードのみ置換(削除)対象にしています。 全ての改行コードが対象ではないため、下記のようにエディタ(sakuraエディタ)で指定しました。 置換前: 9\r\n ※削除したいため、置換後の欄は空欄にしています。 しかし、この設定だと置換前の文字列を置換対象として認識しません。(検索対象としても) \r\n だけだと改行コードを認識するので、文字と改行コードのセットを認識していないようです。 指定に誤りがあるのでしょうか。詳しい方ご教授お願いします。

  • Shift-JISの文字と改行コードについて

    TEXTAREAで入力した値をDBに対して、 .htmlspecialchars(mysql_real_escape_string(stripslashes($_POST["in3"])),ENT_QUOTES) の記述で保存した時、 文字化けコード(「ソ」「表」)が入っている場合に改行を行うと、 改行部に「\r」が文字として保存されてしまいます。 また、文字化けコードがない場合には「\r」は表示されず、 文字化けコードと改行までの間に半角英数字が入っていると「\r」は表示されません。 このような状態になる理由や回避方法についてコメントいただきたく思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • [ASP+SQLsrv]「改行」を有効にして保存したい。

    こんばんわ☆ ASPでアンケートフォームを作っています。 複数行入力ボックスに記入する内容を「改行」込みでSQLサーバの指定フィールドに格納したいのです。 ちなみに、普通に rsHOGE("LONGtext") = Request("HOGEHOGE") で改行まで生きますか? 宜しくお願い致します。

  • 変換しないといけない文字

    htmlファイルからフォームの値を受け取りcsvに書き込み、書き込んだcsvファイルを別のhtmlファイルから読み出します。 書き込む際に変換もしくは削除しておかなければならない文字はありますか。 現在変換しているものは ・htmlspecialcharsでhtmlタグを変換 ・str_replaceでカンマを全角カンマに変換 ・str_replaceで"を”に変換 ・nl2brで改行を変換 これ以外にも変換しておかないといけないものがありましたら教えてください。

    • 締切済み
    • PHP
  • Java Scriptによるテキストエリア内での改行

    Java Scriptでテキストエリアに文字を書き込む方法で、 フォーム名.テキストエリア名.value = "文字&文字" と書けば、テキストエリアに文字&文字を書き込んでくれます。 でも、こうすると、改行ができません。 どうすれば、改行ができるようになるのでしょうか?

  • 正規表現での改行数を求めるにあたって

    以下の文字列がフォームからPOSTされたとします。 ------------------- 1 2 3 4 5 ------------------- ポストされた文字列が$strに格納されているとして、 以下を実行しました。 ------------------- print preg_match_all("[\n\r]", $str, $dummy); print preg_match_all("[\r\n]", $str, $dummy); print preg_match_all("[\r]", $str, $dummy); print preg_match_all("[\n]", $str, $dummy); ------------------- 結果はこうなりました。 ------------------- 6 6 10 10 ------------------- どうやらマッチパターンが"[\n\r]"と"[\r\n]"の場合は空白行の数を、 "[\r]"と"[\n]"の場合は純粋に改行数を返しているようです。 どうしてこのような差が出るのでしょうか? 文字コードはEUC、改行コードはLFで統一していますが関係ありますか?

    • 締切済み
    • PHP