Unicode / HTML 中是不是有“不可见”的连字符?

Posted

技术标签:

【中文标题】Unicode / HTML 中是不是有“不可见”的连字符?【英文标题】:Is there an "invisible" hyphen character in Unicode / HTML?Unicode / HTML 中是否有“不可见”的连字符? 【发布时间】:2016-11-15 16:59:40 【问题描述】:

我发现soft hyphen 字符 (U+00AD SHY) 非常有用,但我想知道是否有相同的东西可以告诉浏览器在哪里打破长词以换行没有添加任何字符?

例如,假设您在 html 中有一个带有报纸对齐方式的窄列,并且文本本身中有一个很长的 URL。您可以添加我提到的软/害羞连字符,但是当用户复制并粘贴 URL 时,它将包含那些破折号字符。理想的情况是没有连字符的相同视觉结果,以便用户可以复制和粘贴长单词。

想法或建议?

我尝试搜索此内容,但我想出的大部分内容都是不间断的空格字符,基本上我正在寻找相反的内容。

更新:我找到了ZERO-WIDTH SPACE (U+200B) 但是它仍然存在在复制和粘贴到地址栏时字符被保留的问题,所以结果最终用户会更加困惑。

【问题讨论】:

Hints for title line breaks in Plone的可能重复 【参考方案1】:

您需要 HTML5 标记 <wbr>,它被指定为完全按照您的要求执行。

如果您不能依赖 HTML5,U+200B 零宽度空间 (​) 也应该可以。

(不幸的是,从 HTML 文档中复制文本的效果没有明确说明。如果 <wbr> 在复制和粘贴时没有执行您想要的操作,您可能需要将其提交给 WhatWG —最简单的方法可能是file a Github issue on the spec。)

【讨论】:

在 Chrome 中, 不会导致任何其他字符被复制!太好了……我在这里寻找一个 Unicode 字符,而 HTML5 用一个特殊的标签解决了它!

以上是关于Unicode / HTML 中是不是有“不可见”的连字符?的主要内容,如果未能解决你的问题,请参考以下文章

C#移除字符串中的不可见Unicode字符

正则表达式日记

正则表达式学习笔记

Bangla unicode 字体未在 mpdf 中显示

php 正则表达式

『GoLang』包