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

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

This string has some links inside it. 

那么用户的可见字符串是:

  This string has some links inside it. 

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

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

这只回答了问题的一半JavaScript。

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

 var text = 'This string has some links inside it.' 

然后你可以做一些像 –

 $('
').append(text).text()

会给你的 –

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

所以$('

').append(text).text().length将获得没有html标记的字符串的长度。

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

 a = 'This string has some links 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/