
今CGIをカスタマイズしています。
書き込みフォームでタグを使いたいのですが、タグをそのまま書き込むとHTML出力時に、<や>に変換されて表示されてしまいます。
なのでその変換する処理を無くしたいと思っているのですが、その処理を無くすとどういう不具合があるのでしょうか?無くそうと思っているのは下記のような箇所です。
~ s/</&lt;/g;
~ s/>/&gt;/g;
(わざと全角で書いてます)
書き込みデータにはdatファイルを使っています。
No.6ベストアンサー
- 回答日時:
念のため・・・
No.4は表示するときではなく、
>formからのデータ取得時にタグを解析して<b>や<font color="~">以外のタグは変換する
方法のつもりで書きました
※<>→<>変換処理の直後に入れる。
いちいち<font color="~">と記述するのは大変なので、
<色=red>赤文字</色>などと覚えやすいタグにするのも親切でいいかも
#<色=red>~</色>を<font color=red>~</font>に
=~ s/<(色)(.*?)>(.*?)<\/\1>/<font color$2>$3<\/font>/gi;
返事が遅れてすいません。
今確認してみたところ、ちゃんと動いておりました。
ありがとうございます。
最善の方法を教えていただき感謝しております。
No.4
- 回答日時:
必要なタグだけ元に戻す処理を入れたらどうでしょう
#<b>~</b>
=~ s/<(b)>(.*?)<\/\1>/<$1>$2<\/$1>/gi;
#<font xxx>~</font>
=~ s/<(font)(.*?)>(.*?)<\/\1>/<$1$2>$3<\/$1>/gi;#
↑
閉じられていないのにも対処。もっと上手いやり方があるかも
No.2
- 回答日時:
掲示板か何かでしょうか?
その処理をなくせばお望みどおり、HTMLが有効になります。
ただし、書き込みの中のHTMLに間違った記述があれば、表示が崩れます。
たとえば、</html>と書き込んでしまえば、その後は表示されなくなってしまいますし、
大きいフォントを選んで、タグを閉じていなければ、その後の書き込みも
すべて大きいままになります。
また、悪戯もあるかもしれません。
場合によってはブラウザクラッシャーを仕込まれたり、
妙なスクリプトを貼られるかもしれません。
No.1
- 回答日時:
例えば掲示板ならタグを使えるようにすると、単なる文字の修飾に留まらずjavascriptを埋め込めたりと、いたずらに使えてしまうので禁止/無効化してある場合がほとんどです。
また悪意がなくとも間違ったタグの記述や閉じ忘れによって表示がおかしくなることもあります。
また超有名CGIサイトのPerlスクリプトはデータの区切りに'<>'を使用していて、その方式が広まったために
スクリプトによって何らかの処置をしないとデータファイルがうまく読み書きできなくなる事もあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- ノートパソコン パソコンを修理に出し、マザーボードが交換された場合 8 2022/11/09 22:37
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- CAD・DTP Auto CAD LT → Auto CAD 1 2022/04/20 12:29
- PHP PHP・Wordpress preg_replaceを条件分岐で処理させる方法が知りたい 1 2023/05/01 14:25
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
.htaccessについて
-
.htaccessの設定
-
apacheでPerl CGIが作動せず、5...
-
条件分岐のCGIサンプル
-
perlで書いたcgiでsqliteの使い...
-
chatGPTみたいに画像生成出来る...
-
cgi-binのエラー?
-
古ーくからフリーのtree.cgi掲...
-
メルカリで講義資料を購入しま...
-
フォームラン(https://form.ru...
-
入力フォーム(電話番号)
-
cgi perl 同じ変数で一つはカン...
-
質問ページ(CGI)に行く時にフ...
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
フォームを再送信しますか?
-
iDeCo
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
POSTメソッドの最大容量について
-
(フリーの)ツリー掲示版CGI、...
-
CGIが読み書きするデータファイ...
-
perlで書いたcgiでsqliteの使い...
-
CGI.pmはもう古い!?
-
サーバーのエラーでおしえてく...
-
ホームページでCGIのフォームを...
-
クッキーが別PCで共有されてしまう
-
VBAで条件から範囲を指定して色...
-
/bin/awk '{print $5}'ってどう...
-
CGIでテキストボックスの内容に...
-
cgi-binのエラー?
-
一番簡単なCGI,掲示板の設置教...
-
webページのリストボックスから...
-
サイト訪問者の情報を取得したい
おすすめ情報