/// BANGBOO BLOG ///

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

May 5, 2010

Even small things can't kill me

■フォームへHTML特殊文字を表示する

DBからのデータをtextareaに表示する時(inputへもそうだが)、「&lt;」などエスケープされたHTML特殊文字があると「<」などテキストへ解釈されて表示されてしまう。

これはフォームの動作なので仕方がないが、フォームの送信は表示したものを送るようになっているので、DBにエスケープして入れていた文字が、いつのまにか文字化けを起こしたりすることになる。

つまり、DBから「&lt;」などエスケープされたHTML文字をtextareaに表示するときは、事前に「&amp;lt;」などに変換しておく必要がある。

一度「&reg;」を「マルR」と表示したものを送信し直しても特に問題は起こらないとすると以下の4つの処理をしておけば良い事になる。

 $ent = str_replace("&amp;", "&amp;amp;", $ent);
 $ent = str_replace("&lt;", "&amp;lt;", $ent);
 $ent = str_replace("&gt;", "&amp;gt;", $ent);
 $ent = str_replace("</textarea>", "&lt;/textarea&gt;", $ent);

内容に自信はないが俺のトラブルは解消した

このエントリをはてなブックマークに追加 このエントリをNifty Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをTechnoratiに追加 このエントリをLivedoor Clipに追加 このエントリをGoogle Bookmarksに追加 このエントリをFC2ブックマークに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをイザ!に追加 このエントリをnewsingに追加 このエントリをdel.icio.usに追加 このエントリをSpurlに追加 このエントリをDiggに追加

投稿者 funa : 01:08 AM | Web | コメント (0) | トラックバック (107)


PhotoGallery
SEARCH

Mobile
QRコード
携帯でのアクセスはこちらから!
RSS Radio
radio.gif
CATEGORY
Recent Entrys
Trackbacks
COMMENTS
ARCHIVES
<     September 2010     >
Sun Mon Tue Wed Thi Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
LINKS