在 blogspot 中的 textarea 處理換行的問題
本來想用 HTML 的 textarea 來顯示範例程式,但是放進去之後才發現所有的換行會被轉換成 <br /> 。在網路上找了一些資訊之後,找出了自己的解法。雖然,可能不是最好的,但也與大家分享。

- 還是 Copy 原始碼到 HTML 碼的適當位置中。
- 加入<textarea>標籤把它框起來,並加入適當的屬性,如 cols、rows。
- 用簡單的符號取代<br />。 例如:我用$$來取代它。(沒錯,根據 Secret 一書的說法, 喜歡$ 就會招來 $)
- 特別注意 textarea tag 的 id (以後放 Samle Code 的欄位就都用這個)
它看起來就像這樣:
<textarea rows="15" cols="40" id="SampleTextArea">package cyberstar.test;$${$$ import flash.display.MovieClip;$$/**$$* @author JASON$$*/$$public class TestMain extends MovieClip$${$$public function TestMain()$${$$trace("start");$$}$$}$$}</textarea>
然後到 blogger 的版面配置加入新的小工具(HTML/JavaSript)和適當的 javascript 程式碼,用 '\n' 以取代 '$$' 字串。如圖一和圖二的操作及程式碼。
(圖一)

(圖二)
<script type="text/javascript">
//用以顯示範例碼
var samplecode=document.getElementById("SampleTextArea").value;
while (samplecode.indexOf("$$",0)!=-1)
{
samplecode=samplecode.replace("$$", '\n');
}
document.getElementById("SampleTextArea").value=samplecode;
</script>
//用以顯示範例碼
var samplecode=document.getElementById("SampleTextArea").value;
while (samplecode.indexOf("$$",0)!=-1)
{
samplecode=samplecode.replace("$$", '\n');
}
document.getElementById("SampleTextArea").value=samplecode;
</script>
這樣就可以順利使用 textarea 來存放程式碼了。
留言
張貼留言