- ベストアンサー
TEXTAREAのゴミコードを取り除く方法
- 自作CGIで送信されたフォームデータにはTEXTAREAで入力されたデータも含まれる場合があります。
- テキストエディタで開くとTEXTAREAで改行された部分に不正なゴミコードが混ざっていることがあります。
- 「0D」というゴミコードを簡単に取り除く方法はありませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 改行コードが勝手に
はじめまして。perl初心者です。 見よう見まねでやりはじめたのですが。どうしてもわからないことがあります。 数十行ぐらいのテキストファイルがあるのですが、その中を訂正するcgiを作成しています。 htmlからそのファイル名を指定して、 open (DATA, "$file1"); #$file1がファイル名 として htmlのテキストエリアに表示して訂正し、それをさらに別のcgiで書き込むようにしています。 print "<form ACTION=\"hensyuu.cgi\" METHOD=\"POST\">\n; print "<textarea name=\"MSG\" cols=100 rows=30>\n"; foreach $gyou ( < DATA > ) { print $gyou; } print "</textarea>\n"; print "<input type=\"submit\" value=\"書込\">\n"; print "</form>\n"; hensyuu.cgiは open ( DATA,">>$file1" ); #ここでtextareaの内容を読み込み print DATA "$in{MSG}"; close ( DATA ); 編集したデータを見ると、各行ごとになぜか空白行が入ってしまいます。 バイナリエディタで見ると通常の0D0Aの前に0Dが追加され、0D0D0Aとなっているために そうなっていると思われます。 これってそういうものなのでしょうか。 それとも根本的にこんなやり方は間違っているのでしょうか。 ご教授のほど、よろしくお願いします。
- 締切済み
- Perl
- textareaのデータのcgiでの受け取り方
textareaのデータの受け取り方を教えてください。 下記のようなtextareaを作って、データを入力したとします。 <textarea name="command" rows="10" cols="50"></textarea> -----------textarea---------------------- aaa bbbb ccccc ----------------------------------------- この入力データをcgi(perl)で変数として、改行なしで一行づつ受け取りたいと考えています。データを配列(改行なし)として受け取れたら、なおよしです。どのようなコードを書けばよいのでしょうか? よろしくおねがいします。
- ベストアンサー
- CGI
- 改行コードを変換するにはどうすれば?
cgiのデータをアスキーの改行コードに変換しなければいけないのですが、どうやったらいいのでしょうか。 テキストエディタは、TeraPadを使用しています。 よろしくお願い致します。
- ベストアンサー
- ホームページ作成ソフト
- TEXTAREAの改行がうまくいきません。
自作で掲示版を作成している、初心者です。現在作成中の掲示版にTEXTAREAに入力し、LOG上では1行目<BR>2行目といった形で改行をBRに置き換えて保存していますが、その修正としてLOGからデータをとり改行状態で表示させたいのですが、 うまく改行されない状態です。下記にLOGより読み込み。タグを\rに置き換えて いますが、TEXTAREAに表示されなく、改行表示どころではありません。 いったいどうすればよいのでしょうか?ご教示をお願いします。 <CGI文> $wkaaa1 = $IXUSERINF{Enaiyo}; データを取得 $wkaaa =~ ¬ag1($wkaaa1); 変換(これがおかしい?) $mesbuff .= "<TR><TD nowrap ><TEXTAREA ROW=\"10\" COLS=\"48\" NAME=\"Enaiyo\" WRAP=\"soft\">$wkaaa </TEXTAREA></TD></TR>"; <sub> sub notag1 { local($_) = @_; s/&/&/g; s/"/"/g; s/</</g; s/>/>/g; s/<br>/\n/gi (これで <BR>を\n(改行)にしてるつもり return $_; }
- ベストアンサー
- CGI
- メールのテキストで多く改行が入ってしまう?
現在メール送信のフォームを作っているのですが、 \r\nの扱いで困ったので書き込みしました。 <textarea>で取得したテキストを メールに出力するようにしていたのですが、 <入力したデータ> てすとです てすとです <メールで出力されたデータ> てすとです てすとです というようになってしまいます。 [\n\r]悪いのかと思い、\nに置換してみたのですが 同じような現象になってしまいました。 \nを取り除くような処理にすると二重改行をはされません。 \rだけ残すって言うのはちょっとまずいですよね・・・。 一体どうすれば良いのでしょうか?
- ベストアンサー
- CGI
- 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で作成してしまったので,このままで出来ればと思っています。よろしくお願いします。
- 締切済み
- Perl
- textareaで改行すると、修正時、書き込んだデータがなくなります。
CGIのカスタマイズに関する質問です。 ソードワールドRPGキャラクターシート管理CGIを使用しています。 初期の設定で<input type>と<textarea>の改行をする際は<br>を使うと言う形になっています。 その中で<textarea>の改行をエンターキーでしたいと思い、 sub htmlunquote{ my $text = shift; $$text =~ s/</</g; $$text =~ s/>/>/g; の部分を sub htmlunquote{ my $text = shift; $$text1 =~ s/\r\n/<br>/g; $$text1 =~ s/\r/<br>/g; $$text1 =~ s/\n/<br>/g; と変換してみました。 すると、エンターキーで改行できるようになったのですが、修正や追記しようとすると、何故か前に書き込んだ文章が消えてしまっています。 なぜ、文章が消えてしまうのか、全く検討がつきません。FFFTPから、データを覗くと、書き込まれたデータはあるのですが……。 それとも改行をさせる方法が根本的に間違っているのでしょうか。 ご教授お願いいたします。
- ベストアンサー
- CGI
- textareaの入力データで無駄な改行が…
textareaでデータ入力し、perlで拾うと無駄に改行が入ってしまいます。 <textarea name="textarea_data"> a a a </textarea> これをPerlで拾って表示させると a a a と表示されてしまいます。 改行が無駄に一つ入ってしまっているのですが、考えられる原因は何でしょうか? print "$FORM{'textarea_data'}"; で表示させています。\n等は入れていません。
- ベストアンサー
- Perl
- CSVファイルデータ0件時の改行コード
CSVファイルのデータが0件のとき、そのCSVファイルをテキストエディタで開くと、1件目に改行コードが設定されています。 CSVファイルデータ0件のとき、改行コードを削除することは出来るのでしょうか? テキストエディタで開いた場合、「EOF」が1件目になるようにしたいのですが。。。。
- 締切済み
- その他(業務ソフトウェア)
- 昨日購入した商品の箱の中には利用開始ガイドがあり、指定のURLにアクセスした際にはID入力画面が表示されました。しかし、メールアドレスを入力する際にパスが分からず困っています。パスを問い合わせするサイトから入力したとしても再登録のメールが届かない状況です。何度試してもメールが届かず、新しくGmailでの登録もできません。問い合わせもメールも電話もできず、困っています。
- ソースネクスト株式会社の製品・サービスを購入したものですが、とても可愛そうな状況です。家電量販店での購入なのに問い合わせができず、どうすれば良いかわかりません。どなたか教えていただけると助かります。
- 購入した商品の利用方法が分からず困っています。利用開始ガイドも確認しましたが、パスが分からないためメールアドレスの再登録ができません。問い合わせ先もわからず、電話もメールもできません。ソースネクスト株式会社の商品・サービスを購入した際にはもっとサポートがあると思っていたので、とてもがっかりしています。どうすれば良いのでしょうか。
お礼
早速のアドバイスありがとうございます。 コメントいただいた後に、デコード処理周辺を調べてましたら、 やはり処理内でバグがあったようです。 TEXTAREA内での改行コードもそのまま「%0D%0A」の文字列として 取り込まれるようですね。これを無理にデコードさせたために 生じたバグのようでした。 自分が作ったCGIはCで作成したものなので、このようなバグが 生じたんでしょか??? おかげ様でバグ解決いたしました。また何かありましたら宜しくお願い致します。