繁体   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