HEX
Server: LiteSpeed
System: Linux server490.bertina.biz 5.14.0-687.31.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Aug 1 05:38:01 EDT 2026 x86_64
User: parskavirpaya (1252)
PHP: 8.1.34
Disabled: mail, show_source, system, shell_exec, passthru, exec, popen
Upload Files
File: /home/parskavirpaya/public_html/wp-content/plugins/wp-parsidate/inc/Helper/Number.php
<?php

namespace WPParsidate\Helper;

class Number {
  /**
   * Fix numbers and convert them to Persian digits style
   *
   * @param string $content
   *
   * @return string Fixed number
   */
  public static function fixNumber( string $content ): string {
    return preg_replace_callback(
      '~<(script|style|textarea|pre|code)\b[^>]*>.*?</\1>(*SKIP)(*F)|(?:&#\d{2,4};)|(?:[0]?[a-z][\x20-\x3B=\x3F-\x7F]*)|(\d+(?:\.\d+)?)|<\s*[^>]+>~isu',
      static function ( $matches ) {
        return isset( $matches[2] ) ? self::toPersian( $matches[2] ) : $matches[0];
      }, $content );
    //return preg_replace_callback( '/(?:&#\d{2,4};)|(?:[0]?[a-z][\x20-\x3B=\x3F-\x7F]*)|(\d+[\d]*)|<\s*[^>]+>/i', 'persian_number', $content );
  }

  /**
   * Converts English numbers to Persian numbers in post contents
   *
   * @param string $content Post content
   *
   * @return  string Formatted content
   */
  public static function persianNumber( string $content ): string {
    return isset( $content[1] ) ? self::toPersian( $content[1] ) : $content[0];
  }

  /**
   * Converts English digits to Persian digits
   *
   * @param string $number Numbers
   *
   * @return string Formatted numbers
   */
  public static function toPersian( string $number ): string {
    return str_replace(
      range( 0, 9 ),
      array( '۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹' ),
      $number
    );
  }

  /**
   * Converts Persian digits to English digits
   *
   * @param string $number Numbers
   *
   * @return              string Formatted numbers
   */
  public static function toEnglish( string $number ): string {
    return str_replace(
      array( '۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹' ),
      range( 0, 9 ),
      $number
    );
  }
}