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

HTMLにcgiを使って表示していますが、TEXTAREAの改行ができません

  • 暇なときにでも
  • 質問No.158582
  • 閲覧数111
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 34% (16/47)

今、ホームページの作成をしています。
その際入力の画面で送信ボタンを押すと、cgiを使って入力確認の画面を
表示するようにしたいのですが、入力画面のTHML言語でTEXTAREAを使うと
その後の入力確認画面で入力通の改行ができません。
入力確認画面のソースを表示すると、入力画面で指定した箇所で改行はされているようなのですが、各行の最後にHTMLLの改行タグ<BR>が表示されていません。
改行タグを各行ごとに入れられれば良いのですが、どうしてもやり方が
わからないので、良いやり方があれば教えていただけませんか。
cgi上ではC言語を使い、ホームページを表示しています。
よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2

補足読みました。
こんな感じですかね?
szInputが送られてきた文字列、szOutputが出力するためのデータです。

j= 0;
memset(szOutput, 0, strlen(szOutput));
for(i = 0; szInput[i] != NULL; i++) {
 if(szInput[i] == '\n') {
  szOutput[j++] = '<';
  szOutput[j++] = 'B';
  szOutput[j++] = 'R';
  szOutput[j++] = '>';
  szOutput[j++] = '\n';
 } else {
  szOutput[j++] = szInput[i];
 }
}
szOutput[j] = '\0';

まぁ、これだと\rの問題が出てくるので、そこら辺はご自分で考えてください。おそらくANSIでも問題なく通るはずです。

また、無制限の文字列にはこれではうまく対応できないと思うので、その場合はmallocか何かであらかじめ動的なメモリ領域を確保/初期化する必要がありますね。

また、HTMLの性質上、インデントは全角スペースでやっているので、コピー&ペーストはできませんので、注意してください。

間違いがありましたらご指摘ください。
ではでは☆
お礼コメント
youjia

お礼率 34% (16/47)

色々ありがとうございます。

新しい領域に検索結果を順次入れていくっていうイメージですよね。
どうしても、\nがあったら<BR>\nに変えるっていうことばかり考えて
新たな領域っていう事が思い浮かびませんでした。

ソースは会社にあるので今はできないんですが、月曜日早速やってみます。
その後又レスを入れますので、今日は本当にありがとうございました。
投稿日時 - 2001-10-28 03:57:08
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1

送られてきたデータを1文字ずつ解析して、\nがきたところで新しい格納用データエリアに<BR>\nとして入れ込めば問題はないと思いますよ。 ちなみに、TEXTAREAでデータをとった場合、自動開業だろうが何だろうが、<BR>はついてきません。Perlの場合でもパターンマッチを使って<BR>\nに切り替えているだけなので・・・ ではでは☆ ...続きを読む
送られてきたデータを1文字ずつ解析して、\nがきたところで新しい格納用データエリアに<BR>\nとして入れ込めば問題はないと思いますよ。

ちなみに、TEXTAREAでデータをとった場合、自動開業だろうが何だろうが、<BR>はついてきません。Perlの場合でもパターンマッチを使って<BR>\nに切り替えているだけなので・・・

ではでは☆
お礼コメント
youjia

お礼率 34% (16/47)

ありがとうございます。

でも、新しい格納用データエリアってどうすればいいんですか?

C言語なので一応"isspace"を使って\nの検索はしているんですがこれって
フラグしか返さないのでその先に進めないんです。
初めてなのでなんか言葉も足りなく分かりにくいと思いますが・・・
投稿日時 - 2001-10-28 02:14:06


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ