如何通过PHP将网站中的整个数字替换为波斯语数字?

前端之家收集整理的这篇文章主要介绍了如何通过PHP将网站中的整个数字替换为波斯语数字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何通过 PHP将身体或网站html中的整个数字替换为波斯数字?
我想替换我网站上所有页面的所有数字.

码:

  1. function ta_persian_num($string) {
  2. //arrays of persian and latin numbers
  3. $persian_num = array('۰','۱','۲','۳','۴','۵','۶','۷','۸','۹');
  4. $latin_num = range(0,9);
  5.  
  6. $string = str_replace($latin_num,$persian_num,$string);
  7.  
  8. return $string;
  9. }

我的代码适用于客户端:

  1. <script>
  2. $(document).ready(function(){
  3. persian={0:'۰',1:'۱',2:'۲',3:'۳',4:'۴',5:'۵',6:'۶',7:'۷',8:'۸',9:'۹'};
  4. function traverse(el){
  5. if(el.nodeType==3){
  6. var list=el.data.match(/[0-9]/g);
  7. if(list!=null && list.length!=0){
  8. for(var i=0;i<list.length;i++)
  9. el.data=el.data.replace(list[i],persian[list[i]]);
  10. }
  11. }
  12. for(var i=0;i<el.childNodes.length;i++){
  13. traverse(el.childNodes[i]);
  14. }
  15. }
  16. traverse(document.body);
  17. });
  18. </script>
您最好将此功能移至前端使用javascript:
  1. <script type="text/javascript">
  2. var replaceDigits = function() {
  3. var map = ["&\#1776;","&\#1777;","&\#1778;","&\#1779;","&\#1780;","&\#1781;","&\#1782;","&\#1783;","&\#1784;","&\#1785;"]
  4. document.body.innerHTML = document.body.innerHTML.replace(/\d(?=[^<>]*(<|$))/g,function($0) { return map[$0]});
  5. }
  6. window.onload = replaceDigits;
  7. </script>

例如:https://codepen.io/anon/pen/rQWGRd

或者您可以在所有页面上加载的任何js文件中包含此函数.

而且你的body标签应该有一个onload属性,如下所示:

  1. <body onload="replaceDigits()">

猜你在找的PHP相关文章