• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLEncodeのこと)

HTMLEncodeの使い方とは?タグ付き文字列の表示方法を教えてください

kazanの回答

  • ベストアンサー
  • kazan
  • ベストアンサー率100% (2/2)
回答No.1

こんにちは。 ご存知かも知れませんが、念のため。 Server.HTMLEncodeは、ブラウザで表示できない文字を、表示できるように 変換します。 例えば<や>などを、&lt;、&gt;に変換してくれます。 ですので、最初にHTMLEncodeを行ったほうがいいでしょう。 つまり、 1.Server.HTMLEncodeで変換する。 2.改行を、希望の文字列(表示するタグ+改行するタグ)に変換する。 の順で変換すればうまくいくと思います。 実際のコードは次のようになるでしょう。 Replace(Server.HTMLEncode(Request("bun")), chr(10), "&lt;BR&gt;<BR>")

s-holmes
質問者

お礼

回答ありがとうございました。おかげ様でできました。ご説明の順序立てがいまいちはっきりしないもので質問させていただきましたが、説明でよく理解できました。

関連するQ&A

  • Javascriptで複数のテキストエリアの文字列を連結させたいです

    Javascriptで複数のテキストエリアの文字列を連結させたいです。 初めまして、 お世話になります。 ------------------------------------------------- <html> <head> <title>無題ドキュメント</title> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form name="form1" method="post" action=""> いつ<br> <textarea name="when"></textarea> <br> <br> どこで<br> <textarea name="where"></textarea> <br> <br> だれが<br> <textarea name="who"></textarea> <br> <br> どうした<br> <textarea name="what"></textarea> <br> <input type="submit" name="submit" value="連結"> <input type="reset" name="submit" value="リセット"> <br> <br> いつどこでだれががどうした。<br> <textarea name="textfield"></textarea> </form> </body> </html> ------------------------------------------------- というHTMLがあったとして ボタンを押したら文字列を連結させたいのです。 その際、入力したテキストフィールドで文字列が改行をされてあった場合 それをそのまま反映して表示させたいのです。 ぜひよろしくお願いします。

  • フォームの値をまとめて取得する関数

    以下のようなフォームから値を取得するときに、(2)のような関数化したいと思っていますが、思うように取得できません。どこが問題かアドバイスください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=sjis" /> <title>sample</title> </head> <body> <form action="" method="post"> 名前:<br /> <input type="text" name="name" size="30" value="" /><br /> コメント:<br /> <textarea name="comment" cols="30" rows="5"></textarea><br /> <br /> <input type="submit" value="登録する" /> </form> </body> </html> (1)問題なく表示できる <?php  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?> (2)表示できない? <?php function Request() {  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } } Request(); echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?>

    • 締切済み
    • PHP
  • フォームのValue値

    万年カレンダーを作ってるのですが、やりたいこととしてはform内のバリュー値を、if文で変数(日付)に変更してそれをFrom内のバリューに置き換えたいのですが、ifででた変数がValueにおきかえれません。 <form method="POST" action="jan_Edit.asp" id=submit> <!--<input type="hidden" name="HDN" Value =<% = SBMT %> >--> <input type="submit" value="PreviousYear" id=SUB1 name=SUB1> <input type="submit" value="PreviousMonth" id=SUB1 name=SUB1> <input type="submit" value="ThisMonth" id=SUB1 name=SUB1> <input type="submit" value="NextMonth" id=SUB1 name=SUB1> <input type="submit" value="NextYear" id=SUB1 name=SUB1> </form> dim SUB1 SUB1 = Request.querystring("SUB1") if SUB1="ThisMonth" then Response.Write("AA<br>") SUB1 = "" elseif SUB1="PreviousYear" then Response.Write("bb<br>") SUB1=YY1 ' YY1は去年です elseif SUB1="PreviousMonth" then Response.Write("cc<br>") SUB1=MM1 'MM1は一か月前です elseif SUB1="NextMonth" then Response.Write("dd<br>") SUB1=MM2 'MM2は一か月後です elseif SUB1="NextYear" then Response.Write("ee<br>") SUB1=YY2 'YY2は一年後です end if

  • 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
  • auで掲示板に書き込めない理由は?

    CGIの管理人のみ書き込める掲示板をいじくって日記を作りました パソコン(IE)、J-PHONE(J-T06)からの書き込みは出来ます ですがこれは自分の日記ではなく彼女の日記になります 彼女はパソコンを持っていないためauの携帯でのアクセスになるんですが、 表示は問題なくできました ですが書き込みがうまくいかないと言うことです。エラーも出ません 考えられる問題はなんでしょうか? <FORM action="./sunbbs.cgi" method="POST"> <input type=hidden name=mode value="regist"> <input type=hidden name=pass value="ここにパスワード"> <input type=text name=date value="2002-05-20 (Mon)" size="10"><BR> <input type=text name=sub size="10" value=""><BR> <textarea name=comment cols="10" rows="4" wrap=soft></textarea><BR> <input type=submit value='Submit'> </FORM> 明日携帯から書き込んでみて自分でも解決してみようと思うのですが、 同じ様なことを経験した人で問題が解決できた人が居たら教えてください

  • 携帯電話での<br>の変換

    iモード(docomo)で 文字列 $text ="りんご<br>バナナ"を textarea 内に入れたくて $text = str_replace("<br>" , "\n", $text) としましたが、textarea 内の表示は「りんご<br>バナナ」となってしまいます。 $text = str_replace("<br>" , "\r\n", $text) $text = str_replace("<br>" , "\r", $text)と記述してみましたが、 textarea 内の表示はすべて「りんご<br>バナナ」となってしまいます。 textarea 内の表示を 「りんご  バナナ」 にしたいのですが、どんなコードに変換したらいいのでしょうか? また、auとsoftbank では、どんな変換をすればいいでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • if文を使用すると表示されません。

    フォームに年月日を入力してもらい、下記のスクリプトで 入力画面を表示させようとしています。 年月日を入力するフォームにはhiddenをいれ、if文でサブルーチン &newFormを表示させようとしているのですが、うまくいきません。 <input type=hidden name=mode value="data"> if文を使用せずに、&newFormを直接呼び込むと表示するのですが・・・。 ぜひご教授願えればと思います。 よろしくお願いします。 ===================================================================== &query; # 初期設定 if($in{'mode'} eq "date"){ &newForm; } sub newForm{ print"Content-type:text/html\n\n"; print <<EOF; <html> <head> <title></title> </head> <body> <textarea name="diary" rows="30" cols="70"></textarea><br> <input type="submit" value="書き込み"> </body> </html> EOF } sub query{ $ENV{'REQUEST_METHOD'}=~ tr/a-z/A-Z/; if ( $ENV{'REQUEST_METHOD'} eq "POST" ){ read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }else{ $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $in{$name} = $value; } }

    • ベストアンサー
    • CGI
  • mailtoによる送信ができない

    <html> <body> <form action="mailto:●●@●●.ne.jp" method="POST" enctype="text/plain" name="mail"> アドレス<br> <input type="text" size="20"name="アドレス"><br> 名前<br> <input type="text" size="20" name="送信者"><br> 感想<br> <textarea name="感想" rows="2" cols="20"> </textarea> <br><input type="submit" value="送信"> <input type="reset" name="mail" value="リセット"> </form> </body> </html> とやってもOEが立ち上がるだけで、フォームに書いた内容がOEに 表示されません。

  • フォームのtextareaにnl2brを使用すると、入力内容の改行部分に<br />が表示されてしまう。

    現在、フォームを作成しています。 セッションを利用してフォームの次のファイルにデータを受け渡しています。 問題は、フォームのtextareaにnl2brを使用すると、出力画面のtextareaに入力された内容において改行がある部分に<br />タグが表示されてしまうことです。 フォームの流れ: start.phpにおいてフォームに入力及び、入力エラーがある場合、入力内容訂正の表示。 mail.phpにおいて入力内容の確認及びデータ送信。 start.phpのtextarea以下: <textarea name="test"><?php echo nl2br(htmlspecialchars($input_data['test'], ENT_QUOTES, 'UTF-8')) ?></textarea> 解説:start.phpでは、フォームの入力項目のいずれかに入力エラーがあるとその項目の入力内容の訂正を促し、入力されたデータをもう一度表示します。(<textarea name="test">に入力されたデータをもう一度<textarea name="test">に表示します。) mail.phpにおいてstart.phpのtextareaに入力されたデータを表示する部分は以下: <?php echo nl2br(htmlspecialchars($input_data['test'], ENT_QUOTES, 'UTF-8')) ?> start.phpにおいて入力項目のいずれかにエラーがあり、<textarea name="test">に入力されたデータをもう一度<textarea name="test">に表示した場合も、また、mail.phpにおいてstart.phpのtextareaに入力されたデータを表示した場合も、<textarea name="test">内の文字列に改行があるとその部分に<br />が表示されてしまいます。 入力例: あいうえおかきくけこ たちつてと 表示例(nl2br使用): あいうえおかきくけこ<br /> たちつてと 解説:nl2brを使用した場合、<br />は挿入されてしまいますが、予定の場所で改行されて表示されます。 試しにnl2br()をコードから削除すると、以下のような表示となります。 表示例(nl2br未使用): あいうえおかきくけこたちつてと 解説:nl2brを使用しない場合、改行されません。 どのようにすれば、textareaに入力された内容の改行部分が改行だけされ<br />が表示されないようにできるでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • テキストエリアの幅を10桁までにしてスクロールさせないようにしたい

    タイトルのままなんですが、可能でしょうか? <textarea name="textarea" cols="40" rows="10">テスト</textarea> あと、テキストエリアに<pre>タグをつけると改行が入ってしまい、 1行分テキストエリアから離れてしまいます・・・。 テストタイトル<br> <pre><textarea name="textarea" cols="40" rows="10">テスト</textarea></pre> すみません、どなたかわかる方いらっしゃいますか? 教えてください(^^

    • ベストアンサー
    • HTML