2016-12-19 9 views
1

解析中のHTMLコードから文字列にパイプ区切り文字を追加するにはどうすればよいですか?Rubyでブレッドクラムを解析する方法

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 

ディスプレイ:

ホームPageCategory NameSubカテゴリNameAnotherサブカテゴリNameCurrentサブカテゴリページ名

私はそれを

として表示させたいですか?カテゴリ名|あなたの区切り文字で参加し、その後、個々の要素のテキストを取らなければならないサブカテゴリー名...

答えて

2

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

うまくいきました、ありがとうございます! – vladz

0

まだよく; CSSを使用して区切り文字をスタイル設定します。区切り文字としてグリフを使用すると、アクセシビリティが悪くなります。

+0

Rubyはまだ私には新しく、何年もコード化されていません。 Davidさんの例を挙げてください。 – vladz

+0

項目を区切る方法として「キーボード文字」を使用すると、スクリーンリーダーはそれらをユーザーに読み込みます。ですから、.crumbitem {border-left:1px solid green;}のようなやり方をするのが良いでしょう。 :) –

+0

またはフォントの素晴らしいをチェックしてください。 :) –

関連する問題