Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как заменить "i" на "и" в словах дореволюционного русского текста?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: А англоязычные слова не трогать
supmener
Отправлено: 19 Мая, 2015 - 10:41:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Вот примеры слов:
Бiенiе, страданiе
То есть, как понимаю, надо чтобы i определялась, как рядом стоящая с русскими буквами и в таких словах заменялась.
В тексте также названия медикаментов на иностранных языках, их не надо трогать.
 
 Top
dcc0
Отправлено: 19 Мая, 2015 - 11:24:08
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $s="Бiенiе, страданiе iё ";
  3. $m=preg_replace('/(i)([а-яё]{1,1})/iu', $2" , $s);
  4.  
  5. print_r($m);
  6.  
  7.  

(Добавление)
Но тут момент: в текстах 19 века может быть i в начале слова Iюль, в начале строки.
Заменит на маленькое "и".
Но это фактически единственное исключенiе.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $s="Бiенiе, страданiе iё iю. Iю";
  2. $m=preg_replace('/(i)([а-яё]{1,1})/u', $2" , $s);
  3.  
  4.  
  5. $n=preg_replace('/(\.\s)(I)([а-яё]{1,1})/u', "$1И$3" , $m);
  6. print_r($n);
  7.  

(Отредактировано автором: 19 Мая, 2015 - 12:24:22)



-----
Март 2021. Бросил программирование
 
 Top
supmener
Отправлено: 19 Мая, 2015 - 12:25:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Спасибо. Надо было наверное еще добавить пример, когда "i" на конце, как в слове "еслi".

(Отредактировано автором: 19 Мая, 2015 - 12:57:37)

 
 Top
dcc0
Отправлено: 19 Мая, 2015 - 12:47:40
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Если в Вашем тексте такое возможно, то да, надо ... но я не встречал i десятеричное на конце слова в текстах XVIII, XIX веков и начала XX века. С учётом того, что текст именно русский (московского диалекта).

Исходя из своих знаний, вариантов два: маленькое i в середине или начале слова - одна регулярка.
I в начале предложения - вторая регулярка.

Вот только вопрос: Вам только i заменить? В таких текстах еще бывает Фита, Ять, а еще Ерь и Ер на конце слов.

(Отредактировано автором: 19 Мая, 2015 - 12:54:42)



-----
Март 2021. Бросил программирование
 
 Top
supmener
Отправлено: 19 Мая, 2015 - 13:03:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Благодарю за информацию. Насчет других букв пока не знаю. В той книге, которую распознал в Finereader 8 (пока что несколько страниц на пробу), "ять" скопировал в буфер обмена, вставил в "поиск и замена", он там правда скопировался, как квадратик, но заменился на "е". Эта книга 1883 года (наверное не очень старая), пока что других букв в ней не увидел.

А вообще да, в будущем надо будет в других книгах и другие буквы заменять.

Раз пишите, что i на конце слова редко бывает, тогда получается не надо такой вариант.

(Отредактировано автором: 19 Мая, 2015 - 13:05:54)

 
 Top
dcc0
Отправлено: 19 Мая, 2015 - 13:14:03
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Цитата:
Раз пишите, что i на конце слова редко бывает, тогда получается не надо такой вариант.

В книге 1883 года - это практически исключено.
А вотъ Eр, Ерь и Ять с фитой точно будут. (Фита может встречаться реже)


Может быть еще I в верхнем регистре в середине предложения в именах собственных.
Iоаннъ

(Отредактировано автором: 19 Мая, 2015 - 13:21:11)



-----
Март 2021. Бросил программирование
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB