2010-12-10 56 views
2

我想知道如何在瀏覽器中將文本區域編輯爲程序員文本編輯器。 對於任何使用textmate的人 - 我基本上都希望它基於Web。 任何使用記事本++的人 - 與上述相同的想法。如何讓我的文本區域自動格式化文本

我知道如何使用html製作文本區域 。 我不知道如何標記文本區域。例如 。在記事本++和textmade中,我可以插入<>標籤,它會突出顯示藍色文本。我怎樣才能在瀏覽器中實現這一點? 我已經知道如何在文本發佈後解析它。 我希望在用戶輸入時解析它。

+1

的代碼不會是簡單的在所有的,我建議你使用一個帶有IFRAME CONTENTEDITABLE'=「真」'。因爲textarea只能有一種樣式,並且內容可編輯的iframe支持多種樣式。 – JCOC611 2010-12-10 23:48:34

回答

0

編輯:我誤解了這個問題一點。如果您好奇,請跳至原始答案。

編輯2:我的答案是如何提供語法突出顯示(問題本身指定的內容)。突出顯示與語法無關的單個字符需要簡單的JavaScript。這也與'自動格式'有所不同,'自動格式'通常被解釋爲'調整我的縮進水平,因此一切看起來都不錯'。

這是一項艱鉅的任務,但並不像看起來那樣不可能。 TextMate再一次以不同的方式來拯救我們。

在TextMate中,打開包編輯器並查看HTML的語言定義。這些是正則表達式,它處理文檔併爲每個作品分配一個「範圍」。

'簡單'將該語言定義格式解析爲各種組件,然後像TextMate一樣使用正則表達式來分配範圍/顏色。一塊蛋糕,對吧? :)

我個人會從最輕量級的開源富文本編輯器開始,然後將其轉化爲它。或者你知道,無論漂浮在你的船上。

我希望給你一些好點子。

原來的答案:

對於Firefox,你可以安裝插件 '這是所有文本' 從這裏開始: https://addons.mozilla.org/en-US/firefox/addon/4125/

它爲我用3.6.12。將首選項中的路徑設置爲TextMate(或其他),並可選擇設置熱鍵或根據自己的喜好調整其他設置。默認情況下,當你的光標在Textarea上時,會出現一個說「Edit」的小按鈕,並在你的編輯器中打開Textarea的內容。保存將把數據放回Textarea。

我希望這會有所幫助。