在Jquery AND Rails中,如何获得字符串的可见字符数?

时间:2011-09-08 15:50:19

标签: jquery ruby-on-rails ruby-on-rails-3 count character

假设您有一个包含嵌入式链接和标签的字符串,如下所示:

 This string has <a href="http://www.google.com">some links</a> inside it.

然后用户的可见字符串是:

 This string has some links inside it.

完整字符串有73个字符,可见只有37个字符。我想要的是能够在jQuery和Rails中获得字符数只计算可见字符。 (jQuery使得我可以在输入字段中提供实时字符计数,并使用Rails进行验证和截断)。

任何人都知道任何有用的东西吗?当然有一些方法可以做到这一点..

2 个答案:

答案 0 :(得分:3)

这只能回答你问题的一半问题。

在jQuery中,如果你有这样的字符串 -

var text = 'This string has <a href="http://www.google.com">some links</a> inside it.'

然后你可以做类似的事情 -

$('<div></div>').append(text).text()

会给你 -

  

这个字符串里面有一些链接。

所以$('<div></div>').append(text).text().length会得到没有html标记的字符串长度。

答案 1 :(得分:2)

您可以使用Nokogiri等XML解析器格式化输出的显示:

a = 'This string has <a href="http://www.google.com">some links</a> inside it.'
Nokogiri::HTML.parse(a).inner_text

=> "This string has some links inside it." 

"This string has some links inside it.".length
=> 37

有关Nokogiri的更多信息,请访问:http://nokogiri.org/