html - 如何识别 href 中的路径/文件/url

标签 html ruby html-parsing nokogiri

我正在尝试获取 href <a> 中的值使用 Nokogiri 的 HTML 标签。

我想确定它们是路径、文件、URL,还是 <div>编号。

我目前的工作是:

hrefvalue = []
html.css('a').each do |atag|
        hrefvalue << atag['href']
end

href 中的可能值可能是:

somefile.html
http://www.someurl.com/somepath/somepath
/some/path/here
#previous

是否有一种机制来识别该值是否是有效的完整 URL、文件、路径或其他?

最佳答案

尝试 URI:

require 'uri'

URI.parse('somefile.html').path
=> "somefile.html"

URI.parse('http://www.someurl.com/somepath/somepath').path
=> "/somepath/somepath"

URI.parse('/some/path/here').path
=> "/some/path/here"

URI.parse('#previous').path
=> ""

关于html - 如何识别 href 中的路径/文件/url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018406/

相关文章:

javascript - 使用 jquery.animate() 和 jquery.scroll() 反转由动画效果引起的 CSS 变化

Jquery 新版本 - 无法获取 data-contentId 值

php - 如何从网页中获取内部链接?

python - 仅当换行符出现在 html 标签内时,如何删除它们?

html - 为什么带有换行符的 PRE 元素不会在输出中产生空行?

javascript - 将 html 表中的第一个 td 重新设计为 rowspan

ruby-on-rails - 带有 FactoryGirl 显式主题的 RSpec

ruby - 用 1 个 dyno 保持 Heroku 清醒的最佳方法

ruby - ruby中 `next`与 `unless`时执行顺序混淆

python - BeautifulSoup:如何提取内容?