|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
制限つきのタグ規制について
ハルノさん
[2002/04/16 22:51:51]
[1995]
|
Re:制限つきのタグ規制について
Tomitomiさん
[2002/04/17 10:48:32]
[2002]
Re:制限つきのタグ規制について
ハルノさん
[2002/04/17 13:29:53]
[2006]
Re:制限つきのタグ規制について
Tomitomiさん
[2002/04/17 15:19:34]
[2007]
Re:制限つきのタグ規制について
ハルノさん
[2002/04/17 16:16:23]
[2009]
|
| [1995] 制限つきのタグ規制について |
| 投稿者:ハルノさん 2002/04/16 22:51:51 |
| はじめまして。 ASP初心者のハルノと申します。 掲示板システムを作っています。 本来は、ユーザの書き込みの中に、HTMLタグの使用を許可しない 仕様なのですが、<FONT>タグだけは使いたいという要望がありました。 そこで、いったん for i = 1 to Len(txt) iChar1 = Asc(Mid(txt, i, 1)) select case iChar1 (略) case 60 '<のとき rTxt = rTxt & ”&lt” case 62 ’>のとき rTxt = rTxt & ”&gt” (略) end select next のような形で、”<”、”>”の記号を変換し、タグを無効にしたあと、 Replace rTxt, ”&ltFONT”, ”<FONT”, 1, -1, 1 Replace rTxt, ”&ltfont”, ”<FONT”, 1, -1, 1 のようなコマンドを発行したのですが、うまくフォントタグが効いてくれません。 何かうまい方法はないでしょうか? また、考え方の間違いの指摘も、よろしかったらお願いしたいです。 |
| [2002] Re:制限つきのタグ規制について |
| 投稿者:Tomitomiさん 2002/04/17 10:48:32 |
| こんにちは、Tomitomiです。 > 掲示板システムを作っています。 > 本来は、ユーザの書き込みの中に、HTMLタグの使用を許可しない > 仕様なのですが、<FONT>タグだけは使いたいという要望がありました。 > そこで、いったん > > for i = 1 to Len(txt) > iChar1 = Asc(Mid(txt, i, 1)) > select case iChar1 > (略) > case 60 '<のとき > rTxt = rTxt & ”&lt” > case 62 ’>のとき > rTxt = rTxt & ”&gt” > (略) > end select > next > > のような形で、”<”、”>”の記号を変換し、タグを無効にしたあと、 > > Replace rTxt, ”&ltFONT”, ”<FONT”, 1, -1, 1 > Replace rTxt, ”&ltfont”, ”<FONT”, 1, -1, 1 > > のようなコマンドを発行したのですが、うまくフォントタグが効いてくれません。 > 何かうまい方法はないでしょうか? > また、考え方の間違いの指摘も、よろしかったらお願いしたいです。 現状のまま表示してブラウザから「表示→ソース」でソースを見てみる。 変換したはずのFONTタグのところが、ちゃんとタグになってるか見たほうが良いですね。 |
| [2006] Re:制限つきのタグ規制について |
| 投稿者:ハルノさん 2002/04/17 13:29:53 |
| > 現状のまま表示してブラウザから「表示→ソース」でソースを見てみる。 > 変換したはずのFONTタグのところが、ちゃんとタグになってるか見たほうが良いですね。 > 書き方が悪かったですね。 「&lt」から「<」に変換されていないのは、確認済みです。 なぜ、 > Replace rTxt, ”&ltFONT”, ”<FONT”, 1, -1, 1 > Replace rTxt, ”&ltfont”, ”<FONT”, 1, -1, 1 この方法がうまくいかないのか、それがわからなくて困っています。 |
| [2007] Re:制限つきのタグ規制について |
| 投稿者:Tomitomiさん 2002/04/17 15:19:34 |
| こんにちは、Tomitomiです。 テストしてみました。結果できました。 <% rTxt = "<FONT" rTxt = Replace(rTxt,"<FONT", "<FONT", 1, -1, 1) rTxt = Replace(rTxt,"<font", "<FONT", 1, -1, 1) Response.write rTxt %> ハルノさんのソースで気になる点 1.置き換える文字列が「<FONT」ではなく「「<FONT」では? 2.Replace関数を変数へ代入せずにそのまま書いてるのでは? × Replace rTxt,"<font", "<FONT", 1, -1, 1 ○ rTxt = Replace(rTxt,"<font", "<FONT", 1, -1, 1) あとテキストモードでの比較では、大文字小文字を区別しないので > Replace rTxt, ”&ltFONT”, ”<FONT”, 1, -1, 1 > Replace rTxt, ”&ltfont”, ”<FONT”, 1, -1, 1 のように大文字。小文字を置き換える処理を2行書かなくても1行で置換えできたと思います。 |
| [2009] Re:制限つきのタグ規制について |
| 投稿者:ハルノさん 2002/04/17 16:16:23 |
| Tomitomiさん、ありがとうございました。 試してみたところ、うまくいきました! > 2.Replace関数を変数へ代入せずにそのまま書いてるのでは? > × Replace rTxt,"<font", "<FONT", 1, -1, 1 > ○ rTxt = Replace(rTxt,"<font", "<FONT", 1, -1, 1) Σ( ̄□ ̄;; まったくもっておっしゃるとおりでした。 文字列操作関数でなにやってんでしょうか、私(汗) replaceはJavaでも戻り値があるのに……。 勉強しなおしますm(_ _)m > 1.置き換える文字列が「<FONT」ではなく「「<FONT」では? こちらの方は、「&lt」に変換していたので、セミコロンはなくても大丈夫でした。 > あとテキストモードでの比較では、大文字小文字を区別しないので > > Replace rTxt, ”&ltFONT”, ”<FONT”, 1, -1, 1 > > Replace rTxt, ”&ltfont”, ”<FONT”, 1, -1, 1 > のように大文字。小文字を置き換える処理を2行書かなくても1行で置換えできたと思います。 こちらもおっしゃるとおりでした。 大文字・小文字両パターンで試してみたところ、どちらもうまくいきました。 以上、ご報告させていただきます。 ありがとうございました。 |
|
TreeBBS For ASP V.0.1.3 |