簡體   English   中英

自動關閉 HTML 標簽

[英]Closing HTML Tags Automatically

我已經允許用戶使用<pre></pre>標簽在評論和文章中顯示代碼,但我遇到了一個我正在努力解決的問題。 當用戶未能關閉 HTML 標簽時,例如:

    <pre>
        <html>
            <head>

            </head>
    </pre>

評論似乎是空白的。 我正在尋找的是某種 function,它將自動關閉用戶錯過的任何 HTML 標簽。

提前致謝。

好吧,如果您不使用框架,它會變得令人討厭,但您的勇氣令人欽佩。 希望這將是朝着正確方向的推動。

我能想到的最簡單的非框架解決方案是在解析來自用戶的字符串時使用堆棧來推送和彈出標簽。

偽代碼

userData = getUserData();
stack = array();
loop (line in userData) {
   matches = search for "<*>"; // may have multiple on one line
   loop (match in matches) {
      tagName = getTagNameFrom(match);
      if ("/" is not found) {
         push tagName on stack;
      } else if ("/" is found) {
         pop tagName off stack; 
         // There was an error if the stack is
         // empty or the tagName that was popped was not
         // the same.
      }
   }
}

這絕不是全面的,這里真的推薦一個框架,但希望它能有所幫助。

您可以使用 HTML Tidy 來解決這個問題。 自動查找並關閉未關閉的標簽。

項目頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM