小编Azi*_*ziz的帖子

通过删除额外/冗余格式标记来清理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万
查看次数

在Java中通过socket发送int

在Java中通过套接字发送int的最佳方法是什么?现在我在看

sockout.write((byte)( length >> 24 ));
sockout.write((byte)( (length << 8) >> 24 ));
sockout.write((byte)( (length << 16) >> 24 ));
sockout.write((byte)( (length << 24) >> 24 ));
Run Code Online (Sandbox Code Playgroud)

然后尝试从另一侧的字节重建int,但它似乎不起作用.有任何想法吗?

谢谢.

java sockets networking integer

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

什么是&H14&VBScript?

我找到了以下文章:这里是关于通过脚本在Windows计算机上安装字体.作者使用VBScript来做到这一点,但我想使用Ruby/Python.脚本中有一行我不明白:

Const FONTS = &H14&
Run Code Online (Sandbox Code Playgroud)

那是什么&H14&?这是一个数字吗?我怎么用另一种语言表示呢?

vbscript hex numbers

6
推荐指数
2
解决办法
6937
查看次数

集成到 R 中

我想通过使用 R 中的集成函数将 exp(-x) 从 0 积分到 100000。但是我发现答案是 2.061453e-45,几乎是 0(零)。真正的答案是 1-exp(-100000),几乎为 1。如何使用 R 中的集成函数进行积分以接近正确的解决方案?

以下是使用的R代码

ab<-function(x) { return(exp(-x)) }
integrate(ab,0,100000)$value
Run Code Online (Sandbox Code Playgroud)

输出是

 2.061453e-45
Run Code Online (Sandbox Code Playgroud)

r numerical-integration

5
推荐指数
1
解决办法
3815
查看次数

单线程应用程序中的死锁

单线程应用程序可以出现死锁吗?如果是,请提供一个例子.

multithreading deadlock single-threaded

4
推荐指数
3
解决办法
5631
查看次数

TCL三元运算符不喜欢空字符串

简单的问题,TCL给了我"过早的表达结束",因为三元表达式的最后一个参数是一个空字符串.如果它是其他任何东西那么它的工作正常.我可以在这里使用空字符串吗?

set y 5
set x [expr ($y > 1) ? 1 : ""]
Run Code Online (Sandbox Code Playgroud)

tcl ternary-operator

2
推荐指数
1
解决办法
1574
查看次数

preg_replace()[function.preg-replace]:/ home /中的未知修饰符'/'

在我的网站,我想用这样的其他链接替换链接

www.abc.comhttp://abc.com将被取代

http://www.XXXXXX.com/sonal?www.abc.com

要么

http://www.XXXXXX.com/sonal?http://abc.com

所以我使用此代码,但此代码给出了一些错误

Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in /home/XXXXX/public_html/YYYYYYYYY/KKKKKK.php on line 495

$search_array = array(
   "/\[url]www|http://.([^'\"]*)\[\/url]/iU",
   "/\[url]([^'\"]*)\[\/url]/iU",
   "/\[url=www|http://.([^'\"\s]*)](.*)\[\/url]/iU",
   "/\[url=([^'\"\s]*)](.*)\[\/url]/iU"
);
$replace_array = array(
   "<a href=\"http://XXXXXX.com/sonal?.\\1\" target=\"_blank\" rel=\"nofollow\">www.   \\1</a>",
   "<a href=\"\\1\" target=\"_blank\" rel=\"nofollow\">\\1</a>",
   "<a href=\"http://XXXXXX.com/sonal?.\\1\" target=\"_blank\" rel=\"nofollow\">\\2</a>",
   "<a href=\"\\1\" target=\"_blank\" rel=\"nofollow\">\\2</a>"
);

$msg = preg_replace($search_array, $replace_array, $msg);
return $msg;
Run Code Online (Sandbox Code Playgroud)

php regex bbcode

0
推荐指数
1
解决办法
5304
查看次数