Тема: Пара замечаний

Может это конечно и не особо важно, и на первый взгляд даже и не заметно, но тем не менее:
1) когда пользователь вводит/меняет имя автора таксона надобы лишние пробелы с конца отрезать, прежде чем сохрянять в бд, а то у вас много таких записей, где иногда даже более одного пробела в конце (о ужас) yikes ну и конечно же двойные пробелы в середине имени (ну таких всего пара штук, но тем не менее...)
2) Еще можно автоматом заменять " et  " на " & ", а  то ситуация такая же - вроде стандартная форма записи у вас выбрана все таки " & ", а две с половиной сотни таксонов с " et ", както не систематично:)
3) Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии. Может стоит проверять по регулярному выражению такие случаи, и предупреждать пользователя об возможной ошибке при наборе, строгости ради?

Re: Пара замечаний

Спасибо за замечания и предложения!

Сергей Раскин пишет:

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

Можно пару таких для примера?

Сергей Раскин пишет:

Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии

Про разнобой знаю, но на устранение оного нет ни времени, ни сил.

Re: Пара замечаний

Сергей Раскин пишет:

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

Дмитрий Орешкин пишет:

Можно пару таких для примера?

Мне кажется, при вводе в базу (или куда там?) лишние пробелы убираются, только в форумных сообщениях такое, но тут ведь вряд ли реально прикрутить проверку, как я своим здравым смыслом понимаю...

Re: Пара замечаний

меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et".  Давайте не будем избавляться от слов!

Re: Пара замечаний

& - амперсанд. А писать его просто smile

Re: Пара замечаний

Лена Глазунова пишет:

тут ведь вряд ли реально прикрутить проверку

Прежде чем проверять, надо посмотреть на конкретные примеры. Давайте подождём.

Re: Пара замечаний

пробел в конце
Allium nevskianum: Vved.
Zannichellia palustris ssp. repens: (Boenn.) Uotila
Carex umbrosa ssp. huetiana: (Boiss.) Egor.
Carex nigra ssp. juncella: (Fries) A. & D. Love
Carex magellanica: auct.
Cladium mariscus ssp. martii: (Roem. & Schult.) Egor.
Juncellus distachyos: (All.) Turrill
Pycreus setiformis: (Korsh.) Nakai
Crocus vernus ssp. albiflorus: (Kit.) Asch. & Graebn.
Gynandriris maricoides: (Regel) Nevski
Juno schischkinii: (Grossh.) Czerep.
Gagea filiformis: (Ledeb.) Kar. & Kir.
Cephalanthera lonchophyllum: (L. f.) Rchb. f.
Orchis morio ssp. picta: (Loisel.) Arcang.
Agropyron cristatum: (L.) P.Beauv.
Avena sativa ssp. macrantha: (Hack.) Mordv.
Bromus gracilis: Leyss.
Brachypodium pinnatum ssp. rupestre: (Host) Tzvel.
Deschampsia arctica: (Spreng.) Merr.
Elymus curvatiformis: (Nevski) Tzvelev
Elytrigia intermedia ssp. barbulata: (Schur) A. Love
Festuca glauca ssp. pallens: (Host) K. Richt.
Festuca sclerophylla: Boiss. ex Bisch.
Puccinellia hackeliana: V.I. Krecz.
Puccinellia hauptiana: V.I. Krecz.
Puccinellia iliensis: (V. Krecz.) Serg.
Atropis phryganodes: (Trin.) Steffen
Vulpia fasciculata: (Forssk.) Fritsch
Sparganium glomeratum: (Laest.) Neuman
Sparganium erectum ssp. microcarpum: (K.G. Neumann) Domin
Aulacospermum popovii: (Korov.) Kljuykov, Pimenov & V.N.Tikhom. 
Bilacunaria caspia: (DC.) Pimenov & V.N.Tikhom. 
Elaeosticta alaica: (Lipsky) Kljuykov, M.G.Pimenov & V.N.Tikhom. 
Prangos cachroides: (Schrenk) Pimenov & V.N.Tikhom. 
Cachrys uloptera: (DC.) Herrnst. & Heyn
Semenovia tragioides: (Boiss.) Pimenov & V.N.Tikhom.
Physospermum denaense: (Schischk.) B. Fedtsch. ex Weinert
Achillea nobilis ssp. neilreichii: (A. Kern.) Takht.
Hieracium chromolepium: (Zahn) Kem.-Nath.
Hieracium fastigiatum: (Tausch ex Naeg.& Peter) Juxip
Tephroseris papposa: (Rchb.) Schur
Hackelia thymifolia: (DC.) I.M. Johnst.
Myosotis frigida: (Vestergren) A. Love & D. Love
Myosotis suaveolens: Waldst. & Kit.
Cardaria propinqua: (Fisch. & C.A. Mey.) N. Busch
Echinocystis echinata: (L.D. Muhl.) Britton, Sterns & Poggenb.
Lonicera alpigena ssp. glehnii: (F. Schmidt) Hara
Vaccinium oxycoccos ssp. microcarpum: (Turcz. ex Rupr.) A. Blytt
Carya pecan: (Marsh.) Engl. et Graebn.
Polemonium humile: Willd. ex Roem. & Schult.
Pentaphylloides dryadanthoides: (Juz.) Sojak
Melampyrum chlorostachyum: Beauverd 
Tozzia alpina ssp. carpathica: (Wol.) Dostal
Diplazium sibiricum: (Turcz. ex Kunze) Sa. Kurata
Woodsia sinuata: (Hook.) H. Christ
Deschampsia cespitosa ssp. parviflora: (Thuill.) K. Richt.
Prangos pabularia ssp. cylindrocarpa: (Korovin) Pimenov & V.N.Tikhom.


2 пробела в конце/середине
Aulacospermum popovii: (Korov.) Kljuykov, Pimenov & V.N.Tikhom. 
Bilacunaria caspia: (DC.) Pimenov & V.N.Tikhom. 
Elaeosticta alaica: (Lipsky) Kljuykov, M.G.Pimenov & V.N.Tikhom. 
Prangos cachroides: (Schrenk) Pimenov & V.N.Tikhom. 
Erysimum hajastanum: Wissjul.  & Bordz.
Kochia prostrata y. villosissima: Bong. &  C.A. Mey.
Ladanum intermedium: (Vill.)  Slavíková
Rubus fruticosus agsp suberectus: (G. Andersson ex Sm.) Á.Löve  &  D.Löve
Melampyrum chlorostachyum: Beauverd 

Отредактировано Сергей Раскин (2011-09-02 00:55:42)

Re: Пара замечаний

По поводу разнобоя. А что тут мудрить то, конечно вручную это не поправить.
Я так понял у вас тут всё на PHP? Сделайте скрипт где будет цикл по всем строкам

$auctor = получить_очередную_запись_из_бд();
$modifiedauctor = preg_replace('/\s{2,}/', ' ', trim($auctor));
# в инициалах и фамилиях тоже порядок навести - вставить пробелы между инициалами и фамилией
$modifiedauctor = preg_replace('/([A-Z]\.)([A-Z][a-z])/', '$1 $2', $modifiedauctor);
# Ну и значки вместо et
$modifiedauctor = preg_replace('/ et /', ' & ', $modifiedauctor);
# вначале сделать тестовую версию которая только напечатает предполагаемые изменения:
print "\"<b>$auctor</b>\" -&gt; \"$modifiedauctor\"<br/>";
# ну а потом поглядев список изменений, убедившись что все как надо, убрать последний принт и сделать сохранение строки обратно

20 минут времени от силы... Хотя кому я говорю - вы и сами должны знать)))

Лена Глазунова пишет:

Мне кажется, при вводе в базу (или куда там?) лишние пробелы убираются, только в форумных сообщениях такое, но тут ведь вряд ли реально прикрутить проверку, как я своим здравым смыслом понимаю...

Да почему же, такое можно даже на стороне клиента прикрутить (с пробелами) на яваскрипте, а с фамилиями и инициалами на стороне сервера, с проверкой по элементарному регулярному выражению '/([A-Z]\.)([A-Z][a-z])/'

Правда у вас тут уникодные символы используются, так что в зависимости от того как сконфигурирован php он либо будет в диапазон [a-z] включать все эти "Á","ö" и прочие штуки, либо не будет... Но это уже детали

Отредактировано Сергей Раскин (2011-09-02 00:40:05)

Re: Пара замечаний

Денис Мельников пишет:

меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et".  Давайте не будем избавляться от слов!

Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит

Re: Пара замечаний

По поводу пробелов. Да, почему-то при парсинге исходных текстов не удалил их. Но с моей точки зрения их наличие или отсутствие для сайта не важно - при отображении в виде HTML соседние пробелы "схлопываются", если только это специально не запретить. Я и не запрещаю... Если кому-то важно отсутствие пробелов - элементарно удалит их сам. За почти три года существования сайта это первая жалоба smile

Re: Пара замечаний

Сергей Раскин пишет:

Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит

Если уж говорить об унификации написания авторов, дело одним сведением "&" в "et" ограничиваться не должно. К примеру, нужно будет ещё сокращения фамилий к одному стандарту приводить, добавлять или убирать инициалы и т.п. Работа кропотливая и огромная. У меня нет ни времени, ни мотивов ей заниматься, и вряд ли они появятся в течение ближайшего года. И вряд ли найдётся тот человек, который это захочет делать - денег я ему заплатить не смогу. А если и найдётся - не факт, что я ему доверю эту работу. Поверьте, я ценю точность и правильность, но в жизни есть другие силы, подавляющие перфекционизм smile

Re: Пара замечаний

да, это лишняя работа

Re: Пара замечаний

Ок. Простите за перфекционистскую дотошность

Re: Пара замечаний

Тогда буду здесь просто ошибки записывать:)

например
Polygonum rigidum Skvortsov in

Re: Пара замечаний

а это всегда пожалуйста!  smile

Re: Пара замечаний

Сергей Раскин пишет:

Polygonum rigidum Skvortsov in

Исправил, спасибо! Если будет ещё что-то подобное, можете просто писать мне на электронную почту (если Вам удобно, достаточно просто URL страницы с неверным написанием автора).

Re: Пара замечаний

Ок. написал