|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-09-17, 08:56 PM | #1 (permalink) |
榮譽會員
|
將 html 轉成 ubb程式碼的小指令碼
呵呵,這幾天沉溺於灌水,發現轉貼的時候真的是很不方便,文字、圖形、顏色、連接,如果都轉過來真的是滿費勁的,於是就寫了一個小東西,簡陋的很,不過倒是可以省一些事
只寫了幾個常用的標籤,如果要增加其他標籤,按照已有的正則照貓畫虎 (存儲於剪下板的超文本和源文件有可能是不同的!!也就是說瀏覽器已經對原有 html 進行了規範化) 執行程式碼框 <script Language="JavaScript1.2"> //coded by windy_sk <windy_sk@126.com> 20031218 function html_trans(str) { str = str.replace(/\r/g,""); str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,""); str = str.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,""); str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<\/a>/ig,"\n$2\n"); str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\/font>/ig,"\n[color=$1]$2[/color]\n"); str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"\n[img]$1[/img]\n"); str = str.replace(/<([\/]?)b>/ig,"[$1b]"); str = str.replace(/<([\/]?)strong>/ig,"[$1b]"); str = str.replace(/<([\/]?)u>/ig,"[$1u]"); str = str.replace(/<([\/]?)i>/ig,"[$1i]"); str = str.replace(/ /g," "); str = str.replace(/&/g,"&"); str = str.replace(/"/g,"\""); str = str.replace(/</g,"<"); str = str.replace(/>/g,">"); str = str.replace(/<br>/ig,"\n"); str = str.replace(/<[^>]*?>/g,""); str = str.replace(/\[url=([^\]]+)\]\n(\[img\]\1\[\/img\])\n\[\/url\]/g,"$2"); str = str.replace(/\n+/g,"\n"); return str; } function trans(){ var str = ""; rtf.focus(); rtf.document.body.innerHTML = ""; rtf.document.execCommand("paste"); str = rtf.document.body.innerHTML; if(str.length == 0) { alert("剪下版不存在超文本資料!"); return ""; } return html_trans(str); } </script> <textarea style="width:100%; height:200px" id="text" class="textarea" onbeforepaste="if(document.getElementById('x_paste').checked){window.clipboardData.setData('text',trans());this.focus();}"></textarea><br /> <iframe scrolling="no" id="rtf" src="about:blank" MARGINHEIGHT="0" MARGINWIDTH="0" style="width:0px; height:0px;"></iframe> <input type="button" value="轉換剪下版超文本資料" onclick="document.getElementById('text').value += trans()"> <input type="checkbox" id="x_paste"> <label for="x_paste">啟用超文本貼上轉換</label> <script> rtf.document.designMode="On"; </script> [Ctrl+A 全部選項 提示:你可先修改部分程式碼,再按執行] 使用說明 在別的網頁中選項HTML內容,比如有連接,或者顏色的拷貝。 點擊執行程式碼按鈕 直接點擊轉換 出來的就是論壇專用的 ubb 程式碼了。 相關討論位址:http://www.blueidea.com/bbs/NewsDetail.asp?id=1303224 |
送花文章: 3,
|
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
linux - 完全用Linux工作 | psac | 作業系統操作技術文件 | 10 | 2006-10-02 04:41 AM |