javascript - 处理 HTML 中的多语言段落字体样式

标签 javascript html css fonts

我有一个网页,主要由波斯语内容组成,在某些段落中有一个或一些英文单词。内容是自动生成的,我无法从我的 HTML 源代码中更改它。 我需要检测这些英文单词在哪里,然后给它们 font-size:xx;前者的原因是我的英文字体——我没有选择并且改变它是不可能的——看起来比我的波斯字体大而且它必须比我分配给波斯的字体大小小一些像素每页的字体。 这是一个例子:

<span class="common">سلام دنیا (helo world)</span>

整个跨度采用以下样式:

.common{
    font-size:26px;
    font-family:'Arial'; 
}

而且我无法为“hello world”部分分配不同的字体大小。

由于页面内容是通过从数据库获取数据的脚本代码生成的,我无法手动为英文单词提供任何嵌入样式,比如用 <em lang="en"></em> 包围它们标签。 有什么方法可以自动检测英语单词并赋予它们样式 - 也许通过分配一个类? -

我们将不胜感激任何帮助尝试。

最佳答案

您可以通过搜索英文字符序列并用您自己的 span 包装这些序列来操作 DOM

这不是完整的解决方案,但您可以这样做:

document.querySelectorAll("span").forEach(function(el){
  el.innerHTML = el.innerText.replace(/[a-z]+/g, '<span class="uncommon">$&</span>');
});
.common{
    font-size:26px;
    font-family:'Arial'; 
}

.uncommon{
  font-size:36px;
  font-weight: 600;
}
<span class="common">سلام دنیا (helo world)</span>

关于javascript - 处理 HTML 中的多语言段落字体样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263778/

相关文章:

javascript - (Javascript)我需要创建一个函数,该函数需要 180 + 用户输入的数字\3 然后四舍五入到小时和分钟

javascript - 检查一个数字是否有重复的数字

javascript - 如何在 html 中制作幻灯片横幅?

javascript - 我们在做源代码格式化的时候使用tab和空格有什么区别?

php - 如何链接 Laravel 模块内部的 Assets ?

javascript - 为什么这些条形图彼此重叠

javascript - FirefoxOS 上的文件输入 (Boot2Gecko!==Gecko?)

html - Bootstrap 列以 img 为中心但不以 div 为中心

PHP、MySQL 验证故障且搜索不起作用?

html - CSS Bootstrap 和 HTML 中的 UI Div 对齐