我有一个文本内容在我的html(wordpress),其中包含2种语言-希伯来语和英语。我试图找到在文本,只是字符串在英语和给予主题不同的字体家庭。我不想对每个字符串都使用内联样式。我需要使用正则表达式或其他东西,在我的“p”标签中找到这些字符串,给予主题我想要的特定字体。我该怎么做?
wz1wpwve1#
我也遇到过类似的问题。我发现我需要我的应用程序来提供任何和所有希伯来语(以及许多其他语言,就这一点而言)的一些关键部分。
<p> Your english here, <span lang="he" dir="rtl">your hebrew here</span></p>
有了这些额外的片段,我就有了一个CSS的选择器
*[lang='he'] { font-family: yourFont; }
如果你想正确地做这件事,这可能是唯一不使用非常复杂的javascript的方法。
ie3xauqp2#
用<span> Package 一种语言,然后应用css类会很好地工作,而且你不需要使用内联css样式。
<span>
.french{ font-size:14px; font-weight: 500; color:red; font-family: Arial, Helvetica, sans-serif; }
<p><span class="french">Ceci est un exemple.</span> this is is an example. <span class="french">Ceci est un exemple.</span></p>
w51jfk4q3#
下面是如何在伪代码中执行此操作的基本流程:1.循环遍历字符串,并根据/[a-zA-Z]+/g测试每个字符,如果存在匹配,则您知道该字符是英语字符1.当您找到一个匹配时,存储该索引1.从存储的索引开始,循环遍历剩余的字符,直到找到Regexp计算结果为false的字符并存储该索引1.现在你有了字符串的开始和结束索引,你需要用一个类为'englishText'的span来 Package 它们,例如:var newText = yourText.slice(0, beginIndex) + '<span class="englishText>" + yourText.slice(beginIndex, endIndex) + "</span>" + yourText.slice(endIndex);1.将原始文本元素的内部HTML设置为newText这应该适用于只有一个英语文本出现的基本情况,如果有超过一个出现,您将需要存储开始和结束索引数组,并使用它们构建字符串。
/[a-zA-Z]+/g
var newText = yourText.slice(0, beginIndex) + '<span class="englishText>" + yourText.slice(beginIndex, endIndex) + "</span>" + yourText.slice(endIndex);
newText
hiz5n14c4#
字体不支持其他语言时的解决方案。
例如-您的字体在希伯来语和英语它回落到一些不需要的默认值。(此解决方案对于您希望为第二种语言选择其他字体的情况没有帮助)。对于所有遇到这个问题的人来说,有一个简单得多的解决方案。我发现它是由于字体创建者的帮助。解决方案是插入css字体家族,其他所需的字体家族为英语(或其他语言)。例如:
.my-class{ font-family: 'not_support_english', fantasy, sans-serif !important; }
4条答案
按热度按时间wz1wpwve1#
我也遇到过类似的问题。我发现我需要我的应用程序来提供任何和所有希伯来语(以及许多其他语言,就这一点而言)的一些关键部分。
有了这些额外的片段,我就有了一个CSS的选择器
如果你想正确地做这件事,这可能是唯一不使用非常复杂的javascript的方法。
ie3xauqp2#
用
<span>
Package 一种语言,然后应用css类会很好地工作,而且你不需要使用内联css样式。w51jfk4q3#
下面是如何在伪代码中执行此操作的基本流程:
1.循环遍历字符串,并根据
/[a-zA-Z]+/g
测试每个字符,如果存在匹配,则您知道该字符是英语字符1.当您找到一个匹配时,存储该索引
1.从存储的索引开始,循环遍历剩余的字符,直到找到Regexp计算结果为false的字符并存储该索引
1.现在你有了字符串的开始和结束索引,你需要用一个类为'englishText'的span来 Package 它们,例如:
var newText = yourText.slice(0, beginIndex) + '<span class="englishText>" + yourText.slice(beginIndex, endIndex) + "</span>" + yourText.slice(endIndex);
1.将原始文本元素的内部HTML设置为
newText
这应该适用于只有一个英语文本出现的基本情况,如果有超过一个出现,您将需要存储开始和结束索引数组,并使用它们构建字符串。
hiz5n14c4#
字体不支持其他语言时的解决方案。
例如-您的字体在希伯来语和英语它回落到一些不需要的默认值。(此解决方案对于您希望为第二种语言选择其他字体的情况没有帮助)。
对于所有遇到这个问题的人来说,有一个简单得多的解决方案。我发现它是由于字体创建者的帮助。
解决方案是插入css字体家族,其他所需的字体家族为英语(或其他语言)。
例如: