- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如标题所述,我正在尝试在字母旁边显示 Unicode 重音符号。
这个任务需要遍历一个字符串,识别一个特殊字符,然后通过打破重音符号和字母并并排显示它们来“简化”它(单词是否正确并不重要,只有格式重要)。
即Às --> Aˋs
我已经有了所需的 unicode,所以我不需要识别任何字符。
我试图动态地执行此操作,因此我将所有特殊字符 unicode 和替换 unicode 存储在数组内的对象中。我不是遍历字符串中的每个字符,而是用我想要的新的 unicode 字符组合全局替换特殊字符的每个实例。请参阅下面我当前的代码:
//String to check for special characters
var string_data = "Às simple as this sounds...it is trivial"
//Array of special(incompatible) characters and replacement unicode characters
var unicodeChars = [
{
incompatible_unicode_char: "\u00C0",//À
replace_uni_char_one: "\u0041", //A
replace_uni_char_two: "\u0300" //ˋ
}
];
//Convert property values from unicodeChars objects to readable characters
for(var i = 0; i< unicodeChars.length;i++){
String.fromCharCode(parseInt(unicodeChars[i].incompatible_unicode_char,16));
String.fromCharCode(parseInt(unicodeChars[i].replace_uni_char_one,16));
String.fromCharCode(parseInt(unicodeChars[i].replace_uni_char_two,16));
}
//Iterate through each object in unicodeChars array
for(var i = 0; i<unicodeChars.length;i++){
//Creating a string that holds the value of what to replace the special character with
var replacement_chars = unicodeChars[i].replace_uni_char_one;
if(unicodeChars[i].replace_uni_char_two != null){
replacement_chars = replacement_chars + unicodeChars[i].replace_uni_char_two;
}
//creating regex object in order to globally replace any occurrence of the special character in the string
var regex = new RegExp(unicodeChars[i].incompatible_unicode_char, "g");
//attempting to replace the occurrence
string_data = string_data.replace(regex, replacement_chars);
}
我想要的 string_data 的最终值是:听起来很简单......它很简单
但是这里的问题是当前的最终值是:听起来很简单......它很微不足道
所以 string_data
基本上根本没有改变,但同时它又发生了变化。在调查时,我发现添加字符和重音标记会将它们组合成一个字母。
因此,在我的代码中,当我执行以下操作时: replacement_chars = replacement_chars + unicodeChars[i].replace_uni_char_two;
代码会自动组合 unicodeChars[i].replace_uni_char_two< 中的重音标记
与 replacement_chars
中保存的标准字母。
我不希望发生这种组合,我希望将它们彼此相邻显示,如 Aˋs
而不是 Às
。 如何阻止 javascript 自动组合重音符号和标准字母?
请记住,我需要保留此代码的当前结构(unicodeCharacters 数组,将 unicode 值转换为字符,然后使用正则表达式执行全局替换
)时间已经过去了,我希望保持这个解决方案目前的动态。
最佳答案
出现问题的原因是您在代码示例中使用组合字符而不是修饰符字母作为重音符号,因此只需更改 replace_uni_char_two
的值即可。来自\u0300
至\u02CB
。要确认更改解决了问题,请运行以下简单的 JavaScript:
console.log('u00C0 : \u00C0');
console.log('u0041 + u0300 : \u0041\u0300 [Uses combining character for grave accent]');
console.log('u0041 + u02cb : \u0041\u02cb [Uses modifier letter for grave accent]');
这是输出:
u00C0 : À
u0041 + u0300 : À [Uses combining character for grave accent]
u0041 + u02cb : Aˋ [Uses modifier letter for grave accent]
请注意:
À
) 是拉丁文大写字母 A (U+0041) 加上重音符号 (U+0300)。 因此修复代码的一般方法是:
unicodeChars
的代码声明中指定修饰符字母的值,而不是组合字符。 有关这个重要问题的更多详细信息,请参阅 What is the difference between “combining characters” and “modifier letters”?
关于javascript - 在 unicode 字母旁边显示 unicode 重音符号,而不是组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53209963/
我想在 下面添加按钮标签,但不知道使用什么 CSS 来实现。下图显示了一个可能的场景,“Main_Page”标题和按钮构成了一个单独的 div 的每个部分。我尝试使用 margin-top属性,但想
我的图像不会位于 slider 旁边.. 而只是堆叠在 slider 下方。好像没有空间放置图像,因为 slider 占用了太多空间,但是当我查看代码时,情况似乎并非如此,除非我错过了什么:) Thi
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve
我想在文本的左侧放置一个图像,并根据窗口的分辨率保持原样。 这是没有图像的样子:http://prntscr.com/fmky4f 这是我希望它放置后的样子。 https://prnt.sc/fmkk
我创建了一个button,当我点击button然后popup模型显示时,它会隐藏在页面主体旁边,按钮也会隐藏我滚动。我希望当弹出窗口出现时我无法滚动我的页面主体。我使用 Bootstrap 创建了模型
我是一名学生网络开发人员,需要一些帮助。我需要复制这个 wikipedia page尽我所能 我想把 Story 和下面的 div 放在官方 wiki 页面上的位置。 另一个问题是游戏玩法“div”,
需要这项工作的 header 的屏幕截图: 如您所见,菜单位于 Logo 下方。我想要它旁边的菜单,在 Logo 的右侧。我不知道这是否可行,但如果可行,我需要一些帮助,谢谢。 这是所有内容的代码,为
基本上,我们必须有这样的布局,其中图像必须溢出容器,文本填充图像创建的空间(向左偏移)。 我们目前有这样的结构: Some paragraph
我有一个“弹出式”表格,它是一个固定元素。该表有时太高以适应某些屏幕,因此我将 overflow 设置为 auto。然而,滚动条似乎与弹出表格分离,因为父 div 是屏幕的宽度而表格较小。有没有办法让
我有一个带有边框的 div: 表示上面内容的div使用的样式是这样的: const style = { textAlign: "center", mar
如何在各种屏幕尺寸下完美地放置图像? .background-login { background: url(../img/login.png) no-repeat; background-s
我正在尝试在居中的圆形头像旁边的右上角放置一个编辑图标。但是,如果我在行小部件中使用中心小部件,它就不起作用: Row( children: [
首先,感谢您阅读我的问题! 因此,我遇到了一些有关将单元格名称传递到下一个 View 的问题。现在它会传递它,但只会显示最近加载的单元格。 现在的编程方式如下: var passName = "" v
这是网站:www.red-tuxedo.com 我希望“红色燕尾服”文本位于 Logo 旁边,而不是下方,并且我想摆脱贯穿 Logo 的硬性规定。我的 CSS/HTML 技能达不到要求。当我更改文本时
我有一个顶部水平菜单栏,宽度为 100%,居中对齐,位置固定,因此它不会随页面滚动。 但我还想在菜单左侧的菜单内联一个名称(例如名为 test)。 但即使我使用内联 block ,它也会根据左侧的 d
我有一个 4 个链接。我希望他们都在同一行。其中两个在中间,另外两个在右边。我把它们包了两个又两个,但我无法让它工作。 我的 CSS 是这样的: #links_center { } #links_ri
我在 material-ui 中使用 Grid 组件。我无法让网格元素相互堆叠。现在他们正在彼此堆叠。我不确定是什么让它们堆叠在一起。我已经这样做了,所以只有在小屏幕上网格元素才会堆叠在一起,否则每个
我试图在固定宽度的内联 block div 旁边放置一个按钮。但它就在 div 的下面。我试过减少容器的宽度,但这是行不通的。我想在不将类添加按钮放在单独的容器中的情况下完成此操作。该按钮应位于 .i
我在“聊天气泡”旁边有一个用户的图像,但该图像显示在气泡之后。 我如何将图像放在聊天气泡之前并固定在 div 上? 我的代码在这里:http://www.codepen.io/anon/pen/fFx
编辑 #1:这是问题的图片: 编辑 #2:这是我使用品牌类后的图片 编辑#3: 我正在尝试将图像 float 到导航栏旁边。它一直有效,直到我的导航栏宽度达到 100%。然后导航栏位于图像下方。 这是
我是一名优秀的程序员,十分优秀!