我试图找出一种方法来计算包含html的特定字符串中的单词.
示例字符串:
<p>Hello World</p>
Run Code Online (Sandbox Code Playgroud)
Ruby中有没有办法计算p标签之间的单词?或者这个问题的任何标签?
例子:
<p>Hello World</p>
<h2>Hello World</h2>
<li>Hello World</li>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
编辑(这是我的工作代码)
控制器:
class DashboardController < ApplicationController
def index
@pages = Page.find(:all)
@word_count = []
end
end
Run Code Online (Sandbox Code Playgroud)
视图:
<% @pages.each do |page| %>
<% page.current_state.elements.each do |el| %>
<% @count = Hpricot(el.description).inner_text.split.uniq.size %>
<% @word_count << @count %>
<% end %>
<li><strong>Page Name: <%= page.slug %> (Word Count: <%= @word_count.inject(0){|sum,n| sum+n } %>)</strong></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是你如何做到的:
require 'hpricot'
content = "<p>Hello World...."
doc = Hpricot(content)
doc.inner_text.split.uniq
Run Code Online (Sandbox Code Playgroud)
会给你:
[
[0] "Hello",
[1] "World"
]
Run Code Online (Sandbox Code Playgroud)
(旁注:输出格式为awesome_print,我热烈推荐)
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |