java - 连字符预处理

标签 java php preprocessor hyphenation

我需要一些 PHP 和/或 Java(目前是 Spring + Hibernate)工具的线索,以用于内容的断字。我在包含的文件中有一些文本内容,在数据库中有一些。所有文本都是 utf-8 编码的,我需要软连字符,因为大多数浏览器都支持软连字符。

所以这存储了原件:

<p> These words need hyphenation</p>

会出现这样的东西

<p> The&shy;se wor&shy;ds need hyp&shy;he&shy;na&shy;tion</p>

在最终加载的网页的源代码中。

有什么想法可以实现吗?

在没有使用任何服务器端代码且只有纯 HTML 源文件的情况下,也欢迎在 HTML 标记中包含连字符的文本编辑工具的建议。

另外,我还没有找到断字词列表的好来源。

最佳答案

CSS3 定义 client-side hyphenation .

这意味着在支持浏览器的情况下¹,您只需指定文本的语言和自动断字的愿望,它就会自动断字,而无需您进行任何操作。显然,这意味着断字点由浏览器的语言资源控制。

对于手动控制,您可以在每个您希望使用的断字点处放置任意连字符,并指示浏览器仅使用这些断字点。

在实践中,要找到断字点并插入任意连字符,最好的方法可能是使用古老的 TeX-style hyphenation method。其中指定分层断字或无断字点的子词模式与要断字的词匹配。这些模式现在被广泛使用(包括 OpenOffice、LibreOffice 和 Adob​​e InDesign)并且适用于大多数语言。

实现该算法只需要几行代码。更重要的是,有多种语言的现成实现:PHP 实现,如 phpHyphenator , Java 实现如 TeXHyphenator-JHyphenation和 libhyphen 的 C++ 实现的 Java 绑定(bind),如 jhyphen .

¹ 目前,Firefox、Safari 和 IE 支持自动断字,而 Chrome 和 Opera 不支持。

关于java - 连字符预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13480480/

相关文章:

java - Spring 3 Web MVC 入门 - 设置一切

Java:替换部分文件而不用再次写入整个文件

java - 从文本文件中提取 XML 标签

java - java中如何将char映射到int

php - jquery $.get() 返回 [object,object]

php - 在网页中提供文本文件的内容

php - 在没有API PHP的情况下获取Youtube用户名

python - 跟踪 sklearn 预处理中的输出列

javascript - Gulp CJSX 渲染编译错误

python - 如何将带有句子 ID 号的文章标记化的单词保存在 CSV 文件中?