我需要一些用于PHP和/或java(当前是Spring + Hibernate)的工具的引导来用于连接内容。我在包含的文件中有一些文本内容,有些在数据库中。所有文本都是utf-8编码,我需要软连字符,因为在大多数浏览器中都支持它。
所以这个存储原件:
<p> These words need hyphenation</p>
会出现类似这样的内容
<p> The­se wor­ds need hyp­he­na­tion</p>
在最终加载的网页的源代码中。
任何想法如何实现这一目标?
对于在HTML标记中包含连字符的文本编辑工具的建议,对于没有使用任何服务器端代码且只有纯HTML源文件的情况也是受欢迎的。
另外,我还没有找到连字词列表的好来源。
答案 0 :(得分:4)
CSS3定义client-side hyphenation。
这意味着在支持浏览器¹时,您只需要指定文本的语言和自动连字的愿望,它将自动连字,无需您做任何工作。显然,这意味着连字点由浏览器的语言资源控制。
对于手动控制,您可以在要使用的每个连字点上放置自由连字符,并指示浏览器仅使用这些连字符。
在实践中,要找到连字符点并插入自由连字符,最好的方法可能是使用古老的TeX-style hyphenation method,其中指定分层连字符或无连字点的子词模式与单词连字符匹配。这些模式现在被广泛使用(包括OpenOffice,LibreOffice和Adobe InDesign),并且可用于大多数语言。
实现算法只需几行代码。更重要的是,有许多语言的现成实现:PHP实现,如phpHyphenator,Java实现,如TeXHyphenator-J或Hyphenation和Java绑定,用于libhyphen的C ++实现,如{{3} }。
¹目前,Firefox,Safari和IE都支持自动连接,而Chrome和Opera则不支持。
答案 1 :(得分:2)
连字确实非常困难。那里没有任何单词列表。如果您使用的是PHP,则可以创建Perl library TeX::Hyphen。我不知道任何Java解决方案。
有关详细信息,请read this Wikipedia article.