@dfggfd

Можно ли сделать автозамену русских букв а,о (маленькие) на английские?

Мучался с нейронкой часа полтора, но она не дала ни единого нормального кода. Я работаю на двух сайтах и просто копирую вопрос с одного на другой но уже с ответами. И сегодня столкнулся с проблемой, что на сайте зачем-то поменяли а,о на английские и теперь копируя текст я не могу сразу найти ответ( а вбивать каждое слово на каждый вопрос займет очень много времени). Могу скинуть более менее подходящий код к моей просьбе, но там не работает ctrl
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
@loheb
curl https://example.com/ | sed "s/a/A/g"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0    826      0  0:00:01  0:00:01 --:--:--   826
<!doctype html>
<html>
<heAd>
    <title>ExAmple DomAin</title>

И блокировка клавиш не поможет.
Ответ написан
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Легко - ставите расширение TemperMonkey и добавляете следующий скрипт в него:
// ==UserScript==
// @name         Исправление текста
// @namespace    http://tampermonkey.net/
// @version      2024-10-22
// @description  Заменяет все английские буквы во всех текстах на русские
// @author       You
// @match        https://24forcare.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=24forcare.com
// @grant        none
// ==/UserScript==

;(function () {
    'use strict'
    $(function () {
        console.log('Скрипт запущен в работу...')
        function normalizeEn2Rus(str) {
            let arr = str.split('')
            let en = 'ABCEHKMOPTXYabcehkmoptxy'
            let rus = 'АВСЕНКМОРТХУавсенкмортху'
            let map = {}
            en.split('').forEach((char, i) => (map[char] = rus[i]))
            for (let i in arr) {
                let char = arr[i]
                arr[i] = map[char] ?? char
            }
            return arr.join('')
        }

        let items = $('*', document.body)

        items.each((i, item) => {
            if (item.nodeName === 'A') { return }
            Array.from(item.childNodes).forEach((el) => {
                if (el.nodeType == Node.TEXT_NODE && el.textContent?.length > 0) {
                    el.textContent = normalizeEn2Rus(el.textContent)
                }
            })
        })
        console.log('Скрипт завершил работу успешно')
    })
})()

В результате все английские буквы, похожие на русские будут заменены обратно на русские автоматически при заходе на сайт и открытии любой страницы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы