【发布时间】:2013-07-01 15:05:44
【问题描述】:
我有一个 html 字符串。在那个字符串中,我想解析所有 <p> 标签并应用额外的内联样式。
其他样式:style="margin:0px;padding:0px;" 或其他样式
案例 1:
输入字符串:<p>some string</p>
输出字符串:<p style="margin:0px;padding:0px;">some string</p>
案例 2:
输入字符串:<p style="text-align:right;" >some string</p>
输出字符串:<p style="text-align:right;margin:0px;padding:0px;">some string</p>
案例 3:
输入字符串:<p align="justify">some string</p>
输出字符串:<p style="margin:0px;padding:0px;" align="justify">some string</p>
现在我正在使用这样的正则表达式
myHtmlString.gsub("<p", "<p style = \"margin:0px;padding:0px\"")
除了删除以前的样式外,效果很好。我正在使用 Ruby (ROR)。
我需要帮助来稍微调整一下。
【问题讨论】:
-
html 不能被正则表达式解析。为什么不使用 xml 解析器?
-
它可以被正则表达式解析。你只是不想这样做,原因是outlined here
-
@hd1 一些基本的、可预测的 html 字符串可以通过正则表达式解析(毕竟你可以尝试用正则表达式解析任何文本字符串),但是 html 不是常规语言,所以任意 html正则表达式无法解析
-
如果您阅读了我提供的链接,@sgroves,它几乎说明了您所写的内容。
-
@hd1 很酷。那我们就同意了。
标签: ruby-on-rails ruby regex gsub