主持人:在你投票结束这个问题之前,请问问自己:“我是否投票结束此事,因为其他人之前做过,或者因为它真的不是一个有效的问题?” < / p>
我正在使用Sanitize来处理用户生成的内容。它是“放松”选项的变体,有时会在排毒后以<div><span><br/></span> <span><br/></span> </div>
之类的内容结束,这会产生不必要的空白。
如果有任何换行符,如何将这样的内容一般转换为只有一个换行符,如果只有空标签,那么这些内容只是一无所获?
输入内容可以是用户生成的任何内容。清理后出现的内容大多是清理,清理,HTML,但有时包含无用的空格,这会导致不必要的空行应该被压缩。
答案 0 :(得分:1)
您可以采用最简单的路线,并gsub
替换您知道会产生不必要的空白区域的模式。根据您正在使用的WYSIWYG编辑器,输出可能真的是任何东西。可能没有预先解决的解决方案。最后,你只需做这样的事情:
即,my_string.gsub /(<div><span><br\/><\/span> <span><br\/><\/span>( )+<\/div>)+/, ''
使用rubular.com快速测试你的正则表达式。
然后可能还有一个HTML&gt;纯文本,纯文本&gt; HTML转换器在那里。根据允许的HTML元素/属性的复杂性,您可以执行以下操作:
1)将HTML输入转换为纯文本格式
2)gsub
/剥离输入
3)转换回HTML格式
请记住,如果您允许HTML属性,它们可能会在转换中丢失......这需要进行测试。