整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          將富文本html內容轉換為純文本,并限制展示字數長度

          將富文本html內容轉換為純文本,并限制展示字數長度

          、將富文本html內容轉換為純文本

          formatrichtext=(richtext, len=0)=> {
              let content=richtext.replace(/<.+?>/g, '');    
              content=content.replace(/ /ig, ''); /* 去除  */    
              content=content.replace(/\s/ig, ''); /* 去除空格 */
              return content;
          }

          2、限制展示的文本長度

          eb前端開發是由網頁制作演變而來的,主要由HTML、CSS、JavaScript三大要素組成。專業的Web前端開發入門知識也一定會包含這些內容,今天課得在線就給大家簡單介紹一下。

          HTML,超文本標記語言,標準通用標記語言下的一個應用。包括“頭”部分(英語:Head)、和“主體”部分(英語:Body),其中“頭”部提供關于網頁的信息,“主體”部分提供網頁的具體內容。

          CSS,層疊樣式表,是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。

          JavaScript,一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型。被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能。

          Web前端

          隨著互聯網時代的飛速發展以及企業需求變更,前端開發技術的三要素也演變成現今的HTML5、CSS3、jQuery。因此很多Web前端開發入門課程中的內容也有了一定的調整。

          HTML5是超文本標記語言的第五次重大修改,在HTML的基礎上引進了新的功能,可以真正改變用戶與文檔的交互方式,這主要包括:“新的解析規則增強了靈活性、新屬性、淘汰過時的或冗余的屬性;一個HTML5文檔到另一個文檔間的拖放功能、離線編輯、信息傳遞的增強、詳細的解析規則、多用途互聯網郵件擴展和協議處理程序注冊,在SQL數據庫中存儲數據的通用標準(WebSQL)等。”

          CSS3是CSS(層疊樣式表)技術的升級版本,主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。

          jQuery,一個快速、簡潔的JavaScript框架,它封裝JavaScript常用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操作、事件處理、動畫設計和Ajax交互。jQuery兼容各種主流瀏覽器,核心特性可以總結為:具有獨特的鏈式語法和短小清晰的多功能接口;具有高效靈活的css選擇器,并且可對CSS選擇器進行擴展;擁有便捷的插件擴展機制和豐富的插件。

          可以簡單理解,HTML定義了網頁的內容,CSS裝飾了網頁的布局,JavaScript網頁的行為jQuery 是一個JavaScript庫。如果把一張網頁比作一個人,那么HTML是人的器官,肢體等主要的組成部分;CSS是你穿的衣服之類的,讓你看起來更美觀;JavaScript為人賦予更多的交互,比如和別人交流、邏輯判斷等;jQuery是人使用工具箱。

          以上就是Web前端開發入門中前端三要素的基本內容,如果你想了解更多前端開發技術,想要積累較多實戰開發經驗,可以來課得在線學習培訓!

          一節我們完成了基本的設置,應該說,至少目前對我來說,現在的功能已經基本夠用了。

          于是我計劃從這篇文章開始,我就不再使用Word進行編輯了,用我這個私人日記軟件來編輯,實際驗證下是否實用。

          如下圖,這是我之前教程的編寫模式:

          之前也交待過,在word文檔中編輯,只要是包含了圖片的,復制后再粘貼到頭條都沒辦法成功,還需要把圖片一個個另外粘貼過去才行。如果是遇到gif動圖,從word復制只能復制靜態的截圖,還得再次復制原文件才能粘貼到頭條的編輯器中,操作起來比較麻煩。

          于是我就在我的程序中嘗試復制粘貼,發現跟word是一樣的效果。這對我來說是不實用的,需要對它進行改造。

          要解決這個問題,首先要分析下為什么會造成這種情況。我們使用的文本編輯控件是RichTextBox,這個默認是rtf格式的,跟word是一樣的。我們把帶圖文的內容粘貼到word文檔中,圖片就是可以正常顯示的。這就說明我們Ctrl+C的內容是rtf格式的,而不是通過瀏覽器粘貼能夠識別出來的格式。那么瀏覽器能夠識別的格式是不是每個瀏覽器特有的呢?于是我嘗試在FireFox中復制圖片和文字,粘貼到用Chrome打開的頭條編輯器,發現圖片是可以顯示的,上述的猜測可以排除了。那么這個格式究竟是怎樣的呢?我需要在程序中截獲一下粘貼的內容。在ContentManagerForm.cs文件中,添加鍵盤截獲事件,截獲Ctrl+V時的內容:

          我們發現,如果從瀏覽器上按Ctrl+C,到我們的軟件中按Ctrl+V,用DataFormats.Html做參數可以取到值,值的內容大概是這樣:

          前面紅線部分相當于信息頭,定義了一些參數,后面從<div>開始就是我們剛剛復制的內容了。我原封不動地將這些內容再寫回到剪貼板中,然后在瀏覽器中按Ctrl+V,瀏覽器也能夠正常顯示了。

          這樣我們基本上就明白了,想要跟瀏覽器正常通訊,需要兩步:第一步是要將rtf格式轉換為html格式,第二步是要將html再轉換成瀏覽器能夠識別的格式到剪貼板。

          一、rtf格式轉html格式

          一般這種格式轉換需要的工作量都比較大,自己從頭開發不大現實,需要網上找找看是否有現成的類庫。對比了幾家,找到了一個rftpipe的,而且是mit授權的。于是從Nuget獲取安裝,使用起來很容易:

          Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

          string html=RtfPipe.Rtf.ToHtml(tbxMainBody.Rtf);

          如此兩行代碼就實現了第一步的轉換。

          二、從html到剪貼板

          同樣也是先網上查資料,找到了一個ClipboardHelper的類,同樣也是mit授權的。把代碼加入到工程,然后在ContentManagerForm中增加一個專門用于復制成html格式到剪貼板的按鈕:

          按鈕處理代碼:

          private void btnCopyAsHtml_Click(object sender, EventArgs e)
          {
          Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
          string html=RtfPipe.Rtf.ToHtml(tbxMainBody.Rtf);
          ClipboardHelper.CopyToClipboard(html, "");
          }

          在使用了類庫的基礎上,三行代碼就完成了我想要的功能。

          功能演示:


          以上解決了從軟件復制到頭條的問題。

          還有一種場景,就是把瀏覽器當成來源,從瀏覽器復制到軟件的功能。如果是純文本RichEdit編輯器自帶就支持,如果是圖文混排的,就需要從html到rtf的轉換,我找了一下相關的類庫,貌似沒有類似rftpipe這種免費且直接支持字符轉換的庫,很多都是通過文檔來轉換,而且還是收費的。好不容易找到一個符合要求的,結果這個項目比較老,是在Framework下開發的,不支持.netcore。

          鑒于找到合適的庫有點困難,隨后仔細分析了下需求,其實這種從瀏覽器圖文混排復制到軟件的場景對我來說意義不大,通篇復制是不大可能的,關鍵位置復制文字做摘抄,真的有特別需要的圖片,單張截圖就好,所以這個功能暫時擱置吧。

          這個小項目伴著教程做到了24節,終于有了一點實際作用了:)

          ----------------------------------------------------

          本教程盡量保證2天一更,項目源碼已作為開源項目加入到Gitee,代碼內容會隨教程實時更新,大家有興趣的話可以關注我,以獲得最及時的更新。私信:

          私人日記 可以獲取Gitee的鏈接;

          sqlitestudio 可以獲取sqlitestudio的鏈接;

          菜鳥 可以獲取菜鳥教程鏈接;

          QQ群 可以獲取教程交流Q群號;

          大家閱讀過程中有哪些看不懂或未盡興的地方,可以在評論區留言,我會先記下來在后續的教程中找機會再說。

          教程有幫助的話請大家幫忙關注、轉發、擴散,能不能開專欄還需要你們的支持!


          主站蜘蛛池模板: 亚洲视频在线一区二区| 亚洲国产一区二区a毛片| 日本道免费精品一区二区| 亚洲人成网站18禁止一区| 国产MD视频一区二区三区| 精品国产一区二区三区无码| 少妇一夜三次一区二区| 国产亚洲综合精品一区二区三区| 中文字幕一区二区人妻性色| 欧美亚洲精品一区二区| 国产精品一区视频| 中文字幕日本精品一区二区三区| 无码精品不卡一区二区三区| 久久一区二区三区99| 在线|一区二区三区| 日本一区频道在线视频| 国模无码人体一区二区| 麻豆精品一区二区综合av| 国产一区二区三区在线免费| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲一区二区三区写真| 国产品无码一区二区三区在线蜜桃| 国产成人亚洲综合一区| 亚洲片国产一区一级在线观看| 中文字幕精品亚洲无线码一区应用 | 国产一区视频在线| 一区二区三区高清视频在线观看 | 一区视频在线播放| 国产亚洲无线码一区二区| 久久亚洲国产精品一区二区| 一区二区三区AV高清免费波多| 亚洲国产一区国产亚洲| 97久久精品无码一区二区| 人妻天天爽夜夜爽一区二区| 无码欧精品亚洲日韩一区夜夜嗨| 日韩在线视频一区二区三区| 人妻视频一区二区三区免费| 日本精品3d动漫一区二区| 免费无码一区二区三区蜜桃大| 国产一区二区三区高清在线观看 | 国产品无码一区二区三区在线|