2020年7月1日 星期三

PHP- 編碼後html還原 "htmlspecialchars_decode",轉換為純文字

為了避免SQL 注入將寫入的資料進行編碼,但對於文字編輯器所寫入的資料還是要有辦法還原回來。

經過編碼寫入DB的資料如下:
看到 <span style="color: #ff6600;"><strong>AJA System Test</strong></span> 的讀寫效能分別為 <span style="color: #0000ff;"><strong>1485/1022 MB/s</strong></span>(寫入/讀取),另外在 <span style="color: #ff6600;"><strong>Blackmagicdesign</strong></span> 的讀寫效能則分別為 <strong><span style="color: #0000ff;">1311.7/1302.6 MB/s</span></strong>(寫入/讀取),內建的硬碟則可完整支援各種檔案格式,雖然讀寫效能沒有 MacBook Pro 內建硬碟來得出色,但整體來說還是相當不錯的表現。<br /><br /><br /><img class="lazy loaded" src="https://attach.mobile01.com/attach/202006/mobile01-20e81a590fecb2cd05d3321bf5150e84.png" data-src="//attach.mobile01.com/attach/202006/mobile01-20e81a590fecb2cd05d3321bf5150e84.png" data-was-processed="true" /><br />MacBook Air 2020!<br /><br /><img class="lazy loaded" src="https://attach.mobile01.com/attach/202006/mobile01-b8de9b28a0927c218e3df159d72e41e7.jpg" data-src="//attach.mobile01.com/attach/202006/mobile01-b8de9b28a0927c218e3df159d72e41e7.jpg" data-was-processed="true" /><br />其實這幾年小編因為工作需要的關係,加上已經習慣大尺寸的顯示螢幕,小編就選擇犧牲行動性選擇效能更佳的 MacBook Pro 16 作為主要的行動工作筆電。這次再度重返 MacBook Air 的懷抱,最讓小編開心的就是肩膀的重量減輕了...<img class="lazy loaded" title="XD" src="https://attach2.mobile01.com/images/emotions/dark/7.gif" data-src="//attach2.mobile01.com/images/emotions/dark/7.gif" data-was-processed="true" />。

還原成html格式
可使用htmlspecialchars_decode($inputtext)



轉換為純文字
可能因為還原導致出現空格,因此要去除前後及中間的空格,
去掉html標籤,並取代特殊符號。

例如:
$str=trim(strip_tags($str));// 去除html標籤及前後空格
$puretext = preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", "",$str); //去除特殊符號及內文中的空白

最後得到的$pretext就是純文字了

沒有留言:

張貼留言