[發明專利]一種基于富文本的節點截取方法、系統、設備和存儲介質在審
| 申請號: | 202110742641.4 | 申請日: | 2021-07-01 |
| 公開(公告)號: | CN113807050A | 公開(公告)日: | 2021-12-17 |
| 發明(設計)人: | 周帥超 | 申請(專利權)人: | 西安華訊科技有限責任公司 |
| 主分類號: | G06F40/14 | 分類號: | G06F40/14;G06F40/166 |
| 代理公司: | 西安泛想力專利代理事務所(普通合伙) 61260 | 代理人: | 李思源 |
| 地址: | 710000 陜西省西安市西安*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 文本 節點 截取 方法 系統 設備 存儲 介質 | ||
本發明屬于文本截取技術領域,具體公開了一種基于富文本的節點截取方法,包括:獲取原始富文本的DOM節點;通過序列化DOM節點,生成對象樹;通過遞歸節點對象樹計算文本數量,遍歷節點對象樹數組;計數滿足預期的截取文本數量時,截取文本內容,跳出循環,截取剩下的DOM對象樹;將DOM對象樹反序列化成DOM節點,遍歷DOM對象樹;調用DOM節點的innerHTML方法生成一個保留樣式的富文本;將保留樣式后的富文本上傳到服務器端;用戶端獲取富文本后直接設置DOM的innerHTML方法渲染即可完成精準截取。本發明通過序列化DOM樹的方法,能夠精準到字數的對富文本進行截取,并且可以保留樣式。
技術領域
本發明屬于文本截取技術領域,特別涉及一種基于富文本的節點截取 方法、系統、設備和存儲介質。
背景技術
現代的文章編輯基本上都基于富文本編輯器,富文本編輯器,Rich Text Editor,簡稱RTE,是一種可內嵌于瀏覽器,所見即所得的文本編 輯器。它是一種解決可一般的用戶不同HTML等網頁標記但是需要在網頁 上設置字體的顏色、大小、樣式等信息問題一個文本編輯器。
隨著知識付費文章等場景的流行,大多數付費文章都是基于富文本段 落的截取,比如得到,微信付費文章,得到付費閱讀等應用。但是現有技 術中基于段落的截取遇到的問題如下:
1.不能夠精準的截取到具體文字數量,只能根據段落截取。
2.樣式與文本分離,還需要前端另行處理。
3.后臺編輯頁面,后端存儲,用戶展示端都需要不同程度的修改。
因此,提供一種新的基于富文本的節點截取方法是本領域技術人員亟 需解決的技術問題。
發明內容
本發明的目的在于克服現有技術中存在的缺陷,提供一種基于富文本 的節點截取方法。
本發明的第一方面,提供了一種基于富文本的節點截取方法,包括以 下步驟:
步驟1:通過JavaScript獲取原始富文本的DOM節點;
步驟2:通過序列化DOM節點,生成對象樹;
步驟3:通過遞歸節點對象樹計算文本數量,遍歷節點對象樹數組;
步驟4:計數滿足預期的截取文本數量時,截取文本內容,跳出循環, 截取剩下的DOM對象樹;
步驟5:將DOM對象樹反序列化成DOM節點,遍歷DOM對象樹;判斷 DOM節點是否還有子節點,如果沒有,進行下一步,如果有重復以上過程, 直到沒有子節點為止;
步驟6:調用DOM節點的innerHTML方法生成一個保留樣式的富文本;
步驟7:將保留樣式后的富文本上傳到服務器端;
步驟8:用戶端獲取富文本后直接設置DOM的innerHTML方法渲染即 可完成精準截取。
進一步的方案為,所述步驟2中,獲取到DOM節點后,遍歷查詢子節 點,如果子節點是文本節點,則刪除特殊字符,如果子節點是普通節點, 將節點屬性遍歷保存到對象屬性上,如果子節點還有子節點,重復以上過 程,直到沒有子節點為止。
進一步的方案為,所述步驟3中,如果是普通節點,查看有沒有子節 點,如果有子節點,接著遍歷子節點直到沒有子節點為止,如果是文本節 點,根據文本長度進行計數。
進一步的方案為,所述步驟5中,如果子節點是文本節點,則創建文 本節點,如果子節點是普通節點,則創建普通節點。
本發明的第二方面,提供了一種基于富文本的節點截取系統,其特征 在于,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安華訊科技有限責任公司,未經西安華訊科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110742641.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種自動添料的食品包裝袋印花裝置
- 下一篇:封裝結構及其形成方法





