如何从 url 中删除随机多余的斜杠或只是验证它?
例如,
有效陈述:
www.domain.com/url/url2
无效陈述:
https://domain.com/////url/url2
www.domain.com/url/////////url2
感谢帮助!
如何从 url 中删除随机多余的斜杠或只是验证它?
例如,
有效陈述:
www.domain.com/url/url2
无效陈述:
https://domain.com/////url/url2
www.domain.com/url/////////url2
感谢帮助!
使用正则表达式:
require 'uri'
url = URI.parse('https://domain.com/////url/url2')
url.path.gsub! %r{/+}, '/'
p url.to_s
这种模式可以完成工作(是否使用 http(s)):
"https://domain.com/////url/url2".gsub! %r{(?<!:)/+(?=/)}, ''
其他答案不会从 URL 中删除尾部斜杠- 这对于 SEO 目的可能很重要。有很多方法可以做到这一点,但例如:
require 'uri'
url = URI.parse('https://example.com/////url/url2/')
url.path.gsub! %r{/+}, '/'
url.path.sub! %r{/$}, ''
或者:
require 'uri'
url = URI.parse('https://example.com/////url/url2/')
url.path.squeeze!('/')
url.path.chomp!('/')