第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CKeditor 刪除開頭多余的空格 - 修剪

CKeditor 刪除開頭多余的空格 - 修剪

回首憶惘然 2023-03-03 10:17:47
我試圖刪除ckeditor 生成的文本開頭和結(jié)尾的額外空格,但不刪除文本本身之間的空格。我在開始時有很多空間,然后是實際文本。所以我正在嘗試為 ckeditor 生成的文本編寫一個修剪函數(shù),傳統(tǒng)的 trim() 不能像文本包含的那樣工作<p></p> &nbsp;,有時 <br>所以我不能只寫一個正則表達式。生成的文本示例<p><br><br><br><br><br><br><br><br><br><br><br>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><br><br><br><br><br><br>here text begins</p><p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>another line</p><p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>third line </p><p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><strong>fourth line</strong></p><p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><span class="text-huge"><strong>sdsdsdsdsd</strong></span></p><h2><span class="text-huge"><i><strong><u>sdsdsdsdsdsdsd</u></strong></i></span><br><br><br><br><br><br><span class="text-huge"><i><strong><u>csdsdsdsdsdsds</u></strong></i></span><br><br><br><br><br><br><br><br><br>&nbsp;</h2>我想刪除所有標簽,直到這里的文本開始,但這個文本可能會有所不同,可能是任何東西,有什么建議么?
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

好的,我已經(jīng)設(shè)法通過解決方法解決了這個問題,想法是:

1- 將我們從 ckeditor 獲得的全部字符串解析content.getData()為 HTMLCollection,

2- 遍歷 html 標簽并通過檢查屬性textContent刪除任何沒有文字的標簽,一旦標簽有文字退出循環(huán)。

3-在其中包含單詞的標簽內(nèi)循環(huán),并通過拆分將字符串轉(zhuǎn)換為單詞數(shù)組str.split(' ')并遍歷數(shù)組并刪除每個單詞,<br>或者&nbsp;直到到達這些標簽和實體以外的任何內(nèi)容,然后退出循環(huán)。

4- 您需要從(從 ckeditor 獲得的全部文本)的開頭和結(jié)尾經(jīng)歷這個過程。

     trimedCkEditorText() {

            let contentStr = this.content.getData();

            // Remove Extra whitespaces at the begining of the text

            contentStr = this.trimedCkEditorTextAt(contentStr, true);


            // Remove Extra whitespaces at the end of the text

            contentStr = this.trimedCkEditorTextAt(contentStr, false);


            return contentStr;

        },

        trimedCkEditorTextAt(contentStr, startOfText) {

            const parser = new DOMParser();

            const doc = parser.parseFromString(contentStr, "text/html")


            // Check first child 

            while(doc.body.children.length) {

                const index = startOfText ? 0 : doc.body.children.length - 1; 

                const child = doc.body.children[index];

                

                if(child.textContent.replace(/\s/g, '').length) {

                    // Remove <br> tags

                    while(child.children.length) {

                        const index = startOfText ? 0 : child.children.length - 1; 

                        const grandechild = child.children[index];

                        if(grandechild.localName === 'br') grandechild.remove();

                        else break;

                    }


                    // Remove &nbsp;

                    const childTextArray = child.innerHTML.split(' ');

                    while(childTextArray.length) {

                        const index = startOfText ? 0 : childTextArray.length - 1; 

                        if(childTextArray[index] === '&nbsp;') childTextArray.splice(index, 1);

                        else break;

                    }

                    child.innerHTML = childTextArray.join(' ');

                    break;

                } else {

                    child.remove();

                }

            }


            return doc.body.innerHTML;

        }


查看完整回答
反對 回復(fù) 2023-03-03
  • 1 回答
  • 0 關(guān)注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號