За последние 24 часа нас посетили 22499 программистов и 1142 робота. Сейчас ищут 573 программиста ...

Помогите решать проблемы - как добавить рег. выражения в плагин транслитерации

Тема в разделе "Регулярные выражения", создана пользователем yuklov, 20 фев 2019.

  1. yuklov

    yuklov Новичок

    С нами с:
    20 фев 2019
    Сообщения:
    1
    Симпатии:
    0
    У меня есть плагин транслитерации. Написан на php. Он транслитерируют контент (страницу вордпресс) на латиницу.

    Пример:
    Код (Text):
    1. <?php
    2.  
    3. class Translit_Core
    4. {
    5.  
    6.    private static $replace = array(
    7. 'ЎЪ'=>'O‘',
    8. 'ўъ'=>'o‘',
    9. '“Е'=>'“Ye',
    10. 'ЬЕ'=>'YE',
    11. 'ье'=>'ye',
    12. 'Ь'=>'',
    13. 'ь'=>'',
    14. 'ЕЛ'=>'YЕL',
    15. 'ЁШ'=>'YOSH',
    16. 'ЙШ'=>'YSH',
    17. 'ЦШ'=>'SSH',
    18. 'УШ'=>'USH',
    19. 'КШ'=>'KSH',
    20. 'ЕШ'=>'ESH',
    21. 'НШ'=>'NSH',
    22. ...
    23. ...
    24. ...,
    25.  
    26.   );
    27.  
    28.   public static function cir_to_lat($text)
    29.    {
    30.      return strtr($text,self::$replace);
    31.    }
    32.  
    33. }
    *****************************


    Я создал правила каждой прописной букве. Это можно сделать кратко в текущем примере по регулярному выражению?
    Например, если после или перед буквой Ё есть прописная буква, она должна транслитерироваться как YO. В остальных случаях, как Yo.

    Это есть в .js:
    Код (Text):
    1. var text = text.replace(/([A-Z])Ё|Ё([A-Z])/g, "$1YO$2");
    2. var text = text.replace(/Ё([a-z])|Ё(\s+)|Ё/g, "Yo$1$2");
    Как этот способ использовать в php?

    Кто знает, помогите, пожалуйста.
     
    #1 yuklov, 20 фев 2019
    Последнее редактирование: 20 фев 2019