html - 使用正则表达式删除相对路径斜杠

标签 html ruby-on-rails ruby regex

我正在尝试从包含多个其他元素的 HTML block 中删除所有相对图像路径斜杠。

例如

<img src="../../../../images/upload/1/test.jpg />

需要变成

<img src="http://s3.amazonaws.com/website/images/upload/1/test.jpg" />

我想把它写成一个 Rails 助手,只是将整个 block 传递给方法,然后使用 Nokogiri 或 Hpricot 来解析 HTML,但我真的不知道。

任何帮助都会很棒

干杯 亚当

最佳答案

无需重新发明轮子,内置的“uri”库可以为您做到这一点:

require 'uri'
main_path = "http://s3.amazonaws.com/website/a/b/c"
relative_path = "../../../../images/upload/1/test.jpg"

URI.join(main_path, relative_path).to_s
  # ==> "http://s3.amazonaws.com/images/upload/1/test.jpg"

关于html - 使用正则表达式删除相对路径斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553443/

相关文章:

Javascript,使用 session 变量作为 switch 语句

html - 如何在 Angular 7 中从 JSON 生成 HTML FORM

ruby-on-rails - Rails 服务器在启动后立即退出 <Undefined method>

ruby - 如何让 ruby​​ 的 `system` 调用知道我的 `.bash_profile` 别名?

javascript - 删除样式的所有属性

ruby-on-rails - 在 Rails ActiveRecord 验证期间更改或更新属性值

mysql - Gem::LoadError: 添加 `gem ' mysql'` 到你的 Gemfile

ruby-on-rails - 获取带有空格分隔符的字符串列表的最有效方法

ruby - 从 Mechanize/Nokogiri 获取链接

jquery - 如何隐藏和显示多个 div 并更改每个值