仅为指定的div将英文数字转换为波斯语/阿拉伯语

Pet*_*ter 3 javascript jquery css3

我知道这个问题已在这里多次回复,但我仍然没有得到确切答案..我需要通过一些javascript将英文字母转换为波斯语/阿拉伯字母,但不是整个页面,而是仅用于div或者更多.只喜欢特定的课程.

我遇到过这些代码,但不知道哪种代码最好用.

function convert($string) {
    $persian = array('?', '?', '?', '?', '?', '?', '?', '?', '?', '?');
    $num = range(0, 9);
    return str_replace($persian, $num, $string);
}
Run Code Online (Sandbox Code Playgroud)

我需要确切的源只在一个div类上实现.

例如:

<div class="demo">12345</div> 
Run Code Online (Sandbox Code Playgroud)

应该改为

<div class="demo">?????</div>
Run Code Online (Sandbox Code Playgroud)

Ali*_*ani 10

要在 React 中使用,请使用此组件

import React, {Component} from "react";


class PersianNumber extends Component {


   render() {
       let en_number = this.props.number.toString();
       let persianDigits = "??????????";
       let persianMap = persianDigits.split("");
       let persian_number = en_number.replace(/\d/g, function (m) {
         return persianMap[parseInt(m)];
       });

    return (
        <span>{persian_number}</span>
    )


  }

}


export default PersianNumber
Run Code Online (Sandbox Code Playgroud)

将文件名另存为:PersianNumber.jsx并像这样使用:

<PersianNumber number={12365}/>
Run Code Online (Sandbox Code Playgroud)


Ror*_*san 9

我相信无论您所提供的代码示例是JavaScript的,首先是密切语法,但是缺少range()方法new上的array()定义.第二个是Java.

为了达到您的要求,您可以将要翻译的每个HTML元素的文本转换为数组并逐步执行它们,通过Regex检查每个字符以查看是否找到了数字.如果是,您可以在将阵列重新连接到一起之前进行简单的替换.像这样的东西:

var arabicNumbers = ['?', '?', '?', '?', '?', '?', '?', '?', '?', '?'];
$('.translate').text(function(i, v) {
    var chars = v.split('');
    for (var i = 0; i < chars.length; i++) {
        if (/\d/.test(chars[i])) {
            chars[i] = arabicNumbers[chars[i]];
        }
    }
    return chars.join('');
})
Run Code Online (Sandbox Code Playgroud)

示例小提琴

  • 没问题,很乐意提供帮助.编辑很好 - 我猜你的标题语言:) (4认同)
  • 非常感谢,它就像一个魅力.我应该提一下,我在第一篇文章中给出的数字不是阿拉伯语,而是波斯语,但我会编辑你的帖子,希望它没关系.:) (2认同)

fin*_*ich 5

您可以使用我从此链接复制的 convertToPersianNumber 函数,并将其用作 jQuery 中的以下代码

$('.translate').text(function(i, v) {
   return convertToPersianNumber(v)
})
Run Code Online (Sandbox Code Playgroud)

convertToPersianNumber 代码

$('.translate').text(function(i, v) {
   return convertToPersianNumber(v)
})
Run Code Online (Sandbox Code Playgroud)