相关疑难解决方法(0)

通过删除额外/冗余格式标记来清理HTML

我一直在使用CKEditor wysiwyg编辑器建立一个网站,允许用户使用HTML编辑器添加一些注释.我最终在我的数据库中有一些非常冗余的嵌套HTML代码,这会减慢查看/编辑这些注释的速度.

我的评论看起来像这样(这是一个非常小的例子.我有超过100个嵌套标签的评论):

<p>
 <strong>
  <span style="font-size: 14px">
   <span style="color: #006400">
     <span style="font-size: 14px">
      <span style="font-size: 16px">
       <span style="color: #006400">
        <span style="font-size: 14px">
         <span style="font-size: 16px">
          <span style="color: #006400">This is a </span>
         </span>
        </span>
       </span>
      </span>
     </span>
    </span>
    <span style="color: #006400">
     <span style="font-size: 16px">
      <span style="color: #b22222">Test</span>
     </span>
    </span>
   </span>
  </span>
 </strong>
</p>
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 是否有任何库/代码/软件可以对HTML代码进行智能(即格式识别)清理,删除所有对格式没有影响的冗余标记(因为它们被内部标记覆盖)?我尝试了很多现有的在线解决方案(例如HTML Tidy).他们都没有做我想做的事.

  • 如果没有,我需要编写一些HTML解析和清理代码.我打算使用PHP Simple HTML DOM遍历HTML树并找到所有无效的标签.您是否建议任何其他更适合我的HTML解析器?

谢谢

.

更新:

我编写了一些代码来分析我的HTML代码.我拥有的所有HTML标签都是:

  • <span>用于font-size和/或的样式color
  • <font>与属性color和/或size
  • <a> …

html php dom bbcode html-parsing

33
推荐指数
3
解决办法
2万
查看次数

使用PHP将CSS文件拆分为数组

我想用PHP将css文件分成数组.

例如:

#selector{ display:block; width:100px; }
#selector a{ float:left; text-decoration:none; }
Run Code Online (Sandbox Code Playgroud)

进入php数组......

array(2) {
  ["#selector"] => array(2) {
    [0] => array(1) {
      ["display"] => string(5) "block"
    }
    [1] => array(1) {
      ["width"] => string(5) "100px"
    }
  }
  ["#selector a"] => array(2) {
    [0] => array(1) {
      ["float"] => string(4) "left"
    }
    [1] => array(1) {
      ["text-decoration"] => string(4) "none"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

哦:编辑:我并不担心在这个例子中形成错误的CSS文件.只要它不贪心,不能防弹

css php regex parsing

7
推荐指数
2
解决办法
7830
查看次数

标签 统计

php ×2

bbcode ×1

css ×1

dom ×1

html ×1

html-parsing ×1

parsing ×1

regex ×1