如何用另一种替换所有的html标签

时间:2018-11-21 16:44:17

标签: html ruby string

我需要将一种字符串中的所有HTML标记替换为另一种,例如,将所有<i>标记替换为<em>标记。

有效变更的最佳方法是什么?

"<p><i>Random stuff here...</i></p>"

到以下?

"<p><em>Random stuff here...</em></p>"

有数百万个这样的字符串,因此考虑到复杂性的解决方案将是很好的。

1 个答案:

答案 0 :(得分:2)

您可以在块

中使用gsub
string = "<p><i>Random stuff here...</i></p>"

string.gsub(/(<\/?)i(>)/) { "#{$1}em#{$2}" }
#=> "<p><em>Random stuff here...</em></p>"

说明:

匹配一个i html开头或结尾标记,并将其替换为em