【问题标题】:How to parse breadcrumbs in Ruby如何在 Ruby 中解析面包屑
【发布时间】:2017-05-04 01:15:46
【问题描述】:

如何从我正在解析的 HTML 代码中将竖线分隔符添加到我的字符串?

HTML:

<div class="container">
  <div class="results">
    <div class="row">
      <div class="col">
        <nav class="breadcrumb-nav">
          <ol class="breadcrumb">
            <li>
              <a href="/">Home Page</a>
            </li>
            <li>
              <a href="link">Category Name</a>
            </li>
            <li>
              <a href="link">Sub Category Name</a>
            </li>
            <li>
              <a href="link">Another Sub Category Name</a>
            </li>
            <li class="highlight">
              <a href="link">Current Sub Category Page Name</a>
            </li>
          </ol>
        </nav>
      </div>
    </div>
  </div>
</div>

我的代码:

puts page.xpath(".//*[@class='breadcrumb']//a").text

显示:

首页类别名称子类别名称另一个子类别名称当前子类别页面名称

我想让它显示为

首页 |类别名称 |子类别名称...

【问题讨论】:

    标签: html ruby xpath nokogiri


    【解决方案1】:

    您必须获取单个元素的文本,然后加入您的分隔符:

    page.xpath(".//*[@class='breadcrumb']//a").map(&:text).join(' | ')
    

    【讨论】:

      【解决方案2】:

      更好;使用 CSS 设置分隔符的样式。使用字形作为分隔符是不好的可访问性。

      【讨论】:

      • Ruby 对我来说仍然很新,而且已经有好几年没有编码了。你能举一个大卫的例子吗?
      • 当您使用“键盘字符”作为分隔项目的方式时,屏幕阅读器会将它们朗读给用户。所以,最好做一些像 .crumbitem {border-left: 1px solid green;} 或者你喜欢的花哨的东西。 :)
      • 或查看 Font Awesome。 :)
      • 听起来很酷!数据将进入 CSV 文件作为参考。不过,将来会记住这一点。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2016-06-08
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多