1. 程式人生 > >java補全html單標籤

java補全html單標籤

      最近做的專案需要用到富文字編輯器,然後我就加了個kindEditor,這個頁面填寫的內容又要匯出pdf, 然後就用了支援樣式較多的itext ,在ftl模板轉pdf的時候出現了問題,因為itext轉pdf對html要求相當嚴格,只要標籤有沒閉合的後臺必然會直接報錯,找到問題發現是在編輯器裡面輸入內容後按回車或者複製進來的內容有換行的br標籤全部都沒閉合,比如自己按回車就會生成<p><br></p>的標籤,中間的br不會閉合,網上找了很多kindEitor的解決方法,像過濾br標籤、更換換行標籤之類的,試過了,解決不了問題,然後百度搜索補全標籤的方法,發現搜到的都是雙標籤的補全方法,所以自己寫了個補全單標籤的方法,希望對那些碰到同樣問題的人有幫助,itext支援多箇中文字型,中文換行的問題我也都解決了,寫起來比較麻煩,下面就只貼標籤補全的程式碼了

public String closeHTML(String str){
    List arrTags = new ArrayList();
    arrTags.add("br");
    arrTags.add("hr");
    for(int i=0;i<arrTags.size();i++){
        for(int j=0;j<str.length();){
            int tagStart = str.indexOf("<"+arrTags.get(i),j);
            if(tagStart>=0){
                int tagEnd = str.indexOf(">",tagStart);
                j = tagEnd;
                String preCloseTag = str.substring(tagEnd-1,tagEnd);
                if(!"/".equals(preCloseTag)){
                    String preStr = str.substring(0,tagEnd);
                    String afterStr = str.substring(tagEnd);
                    str = preStr + "/" + afterStr;
                }
            }else{
                break;
            }
        }
    }
    return str;
}

相關推薦

javahtml標籤

      最近做的專案需要用到富文字編輯器,然後我就加了個kindEditor,這個頁面填寫的內容又要匯出pdf, 然後就用了支援樣式較多的itext ,在ftl模板轉pdf的時候出現了問題,因為itext轉pdf對html要求相當嚴格,只要標籤有沒閉合的後臺必然會直接報錯

Pycharm設定Django模板的HTML檔案自動程式碼或標籤

在使用Pycharm編寫Django模板時,經常會用到一些特殊的格式,比如 {{ … }},{% if %}等等,如果Pycharm不自動提示,只能一個符號一個符號的輸入,比較麻煩。現在教大家如何設定自動補全這些東西。 1、首先,開啟Pycharm的Files–>Settings–

vscode react中標籤自動 vscode jsx語法自動html標籤

能找到我這個文章的八成就是前端了,前端都習慣了程式碼自動補全,猛一下的自己打閉合標籤很不習慣, 再說了,VSCODE多強大啊,怎麼可能沒有解決辦法,方法如下: 檔案--首選項--設定--使用者設定 在使用者設定新增 "emmet.includeLanguages":

Sublime 快捷鍵Tab無法自動HTML結構

自動 bbr pack 彈出 enabled 菜單欄 post contex 使用 Sublime 快捷鍵Tab無法自動補全HTML結構可能是因為沒有安裝Emmet插件的問題。 一、首先我們需要安裝Emmet插件。在菜單欄中找到“首選項”,選擇“Package contro

centOS7 下的vim java

當時為了省事下載的vimplus,但是發現沒有java補全,所以在網上查詢以一些教程增加java補全 1.下載JavaComplete.zip http://www.vim.org/scripts/download_script.php?src_id=6738 2.將解壓好的檔案放入 /usr/sha

Java web前端——HTML常用標籤

html簡介 1.1 html概述 html全稱:Hyper Text Markup Language(超文字標記語言) 超級文字標記語言是標準通用標記語言(SGML)下的一個應用,也是一種規範,一種標準,它通過標記符號來標記要顯示的網頁中的各個部分

Pycharm設定Django模板檔案自動程式碼或標籤

在使用Pycharm編寫Django模板時,要用到一些特殊的格式,比如 {{ … }},{% if %} {% bolck %}等等,如果不設定Pycharm,只能一個符號一個符號的輸入。現在教大家如何設定自動補全這些東西。首先,開啟Pycharm的Files–>Set

Java呼叫replaceAll方法通過正則表示式把HTML字串中的img標籤的src預設屬性值uri

class Test { public static void main(String[] args) { String domain = "http://avatar.csdn.net";

Eclipse中的文字自動功能(Javahtml、javascript)

文字很枯燥,希望正在閱讀的您靜下心來細細的閱讀,跟著我的12345一步一步往下走,you will get success! 1.開啟eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activat

Eclipse中java、js、html程式碼自動提示功能(自動

使用eclipse自帶的外掛,無需另外安裝外掛,具體步驟如下 1.開啟eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activation triggers for java的值為:zjava 點選apply按鈕 2.繼續開啟Jav

vim括號引號html標籤自動

(我現在已經不用下面方法了,可使用 xptemplate 外掛 http://blog.csdn.net/zcube/article/details/42525973) 問題:怎樣在vim中實現花括號引號自動補全,包括html標籤? 解決辦法:只要把下面兩段程式碼貼上到

Java第二十二天(html標籤和css)

1.html表單標籤 <!DOCTYPE html> <html>   

Sublime Text2 新建文件快速生成Html頭部信息和炫酷的代碼

開始 link pre master sse span tro man 語法 預備:安裝emmet插件(previously known as Zen Coding) 方法一 package control法: 上一篇博客已經介紹了如何安裝package

【easyui-combobox】下拉菜自動功能,Ajax獲取遠程數據源

combo -c -o efi 字段 data app script resp 這個是針對easyUI的下拉菜單使用的,Ajax獲取遠程數據源 HTML 頁面 <input id="uname" name="uname" class="easyui-combo

vscode----vue中HTML代碼tab鍵自動

trigger tab png 圖片 clu 設置 文件編輯 -h ejs 1.在vscode中插件下載並重新加載HTML Snippets 2.settings.json中配置files.associations對象。 找到setting.json文件:文件 -->

html-使用表標籤實現註冊頁面

  案例說明:        - 使用表格實現頁面效果     - 超連結不想要有效果,使用href="#"     - 如果表格裡面的單元格沒有內容,使用空格作為佔位符 &nbsp;     - 使用圖片標籤提交表單 <input type="image" src="圖片的路徑"/

python學習第二十七天(HTML之表標籤

form表單標籤 表單用於向伺服器傳輸資料。 表單能夠包含 input 元素,比如文字欄位、複選框、單選框、提交按鈕等等。 表單還可以包含textarea、select、fieldset和 label 元素。 表單屬性 HTML 表單用於接收不同型別的使用者輸入,使用

HTML+CSS第四課:表標籤的使用-製作登錄檔

知識點:表單標籤、表單元素 表單在網頁中應用比較廣泛,如申請qq賬號、電子郵箱等,使用者需要首先填寫註冊資訊,然後才能提交;通俗講,表單就是一個將使用者資訊組織起來的容器,將使用者填寫的內容放置在表單容器中,當用戶單擊提交按鈕的時候,表單會將資料統一發送給伺服器! 表單的作用

028、HTML 標籤3表標籤插入元件

內容:表單標籤插入元件(經常使用)############################################################## form表單標籤和input元件 <form> 使用者名稱稱:<input type="text" name="us

HTML+CSS第四課2:利用表標籤製作一個百度搜索框

知識點:表單<form>標籤、<input />標籤的使用。 問題描述:在html中製作一個百度搜索框,要求,在搜尋框裡輸入關鍵詞後,點選搜尋,能夠跳轉到百度搜索結果頁面。 關鍵程式碼: <form action="http://www.baidu.co