LINUX.ORG.RU
решено ФорумTalks

Одного дога не хватает, двух тоже не очень…

 , , ,


1

1
// ==UserScript==
// @name       Three Dog
// @version    0.1
// @description  "Until next time, this is Three Dog, OWWWWWWWWW! And you're listening to Galaxy News Radio! Bringing you the truth, no matter how bad it hurts."
// @namespace *
// @include *
// @copyright  2014, init_6
// ==/UserScript==    

(function() {
  var replacements, regex, key, textnodes, node, s; 

  replacements = {
    "Москва"    : "Нерезиновск",
    "Эмигрант"  : "Понаехавший",
    "Черное"    : "Белое",
  };

regex = {}; 
for (key in replacements) { 
    regex[key] = new RegExp(key, 'g'); 
} 

textnodes = document.evaluate( "//body//text()", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 

for (var i = 0; i < textnodes.snapshotLength; i++) { 
    node = textnodes.snapshotItem(i); 
    s = node.data; 
    for (key in replacements) { 
        s = s.replace(regex[key], replacements[key]); 
    } 
    node.data = s; 
} 

})();

Three Dog делает мир интернет на просторах столичной пустоши чище и лучше, волосы от него становятся мяяяяяяяяягкими и шелковистыми а дыхание свежим.

Пары слов использованы только в качестве примера но никак не с целью оскорбить кого бы то ни было.

Дискасс!

★★★★★

Последнее исправление: ymn (всего исправлений: 1)
Ответ на: комментарий от qzxcvbnm

А что делать, если не «эмигрант», а «эмигранты»? Правила надо писать для каждой формы слова, верно?

Так глубоко я пока не копал.

Пилилось собственно ради замены конкретных слов в их конкретном виде. Но да допилить было бы неплохо.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от garik_keghen

твой код оскорбляет негров!

А твои слова сейчас оскорбили наших чернокожих афроамериканских братьев.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

ну так в этом и был прикол. :'( сарказм или как там модно это называть

garik_keghen ★★★★★
()
Ответ на: комментарий от qzxcvbnm

В любом случае, спасибо. /me пошел составлять список...

Не за что. Если придумаешь или найдешь как исправить еще и это -->

А что делать, если не «эмигрант», а «эмигранты»?

Пиши.

init_6 ★★★★★
() автор топика

если заменить windows на linux, Россия > Украина, то станет еще веселей. Завтра заюзаю твой скриптик <3

garik_keghen ★★★★★
()
Последнее исправление: garik_keghen (всего исправлений: 2)
Ответ на: комментарий от garik_keghen

если заменть windows на linux, то станет еще веселей :-C

Все в твоей власти. Если вместо * вот там

// @namespace *
// @include *

влепить конкретный ресурс то будет заменять только на нём. А так как есть заменяет глобально во всём.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от qzxcvbnm

А оно пашет с частями слов?

Только слово целиком. По сути то же что и самая тупая из всех возможных замен в любом текстовом редакторе.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

завидую людям, которые понмают что-то в этих буковках.

garik_keghen ★★★★★
()
Ответ на: комментарий от CYB3R

Материализатор покруче будет.

Да я и не спорю. Мне нужен был велосипед который бы всего несколько пар слов заменял бы…

А кстати Материализатор протух.

init_6 ★★★★★
() автор топика

По этому же принципу работает этот адд-он. Там по сути тоже один только юзерскрипт.

Bfgeshka ★★★★★
()
Ответ на: комментарий от CYB3R

УМВР.

Ах да и УМВР! Из браузера почему то не качало…

init_6 ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

А есть готовые библиотеки для склонения и спряжения русских слов? Желательно, чтобы ещё была база данных с исключениями.
Хочу не только определять часть речи, род, число, падеж, если есть исходное слово, но также и изменять слово, если дать его начальную форму слова и род, число, падеж.

CYB3R ★★★★★
()

Так бездарно убил ширину описанием

buddhist ★★★★★
()

Предлагаю расширить список

replacements = {
    "Москва"    : "Нерезиновск",
    "Эмигрант"  : "Понаехавший",
    "Черное"    : "Белое",
    "Facebook"  : "ненужно",
    "Twitter"   : "ненужно",
    "ненужно"   : "ненужно",
  };
upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Предлагаю расширить список

Список в первом сообщении был приведен только в качестве примера. А наполнение списка задача пользователя.

Главное что этот велосипед успешно справляется с поставленной на него задачей.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от jenyadoe

Некоторые обороты действительно очень забавные.

CYB3R ★★★★★
()
Ответ на: комментарий от goingUp

Это ты уже переехал? :)

Это я привел очевидные пары в качестве примера.

init_6 ★★★★★
() автор топика

Сто лет не играл, уже не помню точно но там было что-то вроде «Because one dog is enough and two is too long, this is me, Three Dog!».

Мимо проходил.

unknown_artist
()
Ответ на: комментарий от unknown_artist

Сто лет не играл

Да игрушка стоящая.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от spunky

эх, ностальджи! Ты тоже как предыдущий юзерскриптклепатель закончишь?

А т.е. до этого я и с gentoo закончил точно так же как и большинство? Ну ок…

init_6 ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

Материализатор покруче будет.

CYB3R подключил его в dwb и знатно поржал. Спасибо занятнейшая штука!!!

init_6 ★★★★★
() автор топика
25 июля 2014 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.