Пара замечаний
Обсуждение / Работа «Плантариума» / Форум

Плантариум
определитель растений онлайн

Обсуждение

Может это конечно и не особо важно, и на первый взгляд даже и не заметно, но тем не менее: 1) когда пользователь вводит/меняет имя автора таксона надобы лишние пробелы с конца отрезать, прежде чем сохрянять в бд, а то у вас много таких записей, где иногда даже более одного пробела в конце (о ужас) :O ну и конечно же двойные пробелы в середине имени (ну таких всего пара штук, но тем не менее...) 2) Еще можно автоматом заменять " et " на " & ", а то ситуация такая же - вроде стандартная форма записи у вас выбрана все таки " & ", а две с половиной сотни таксонов с " et ", както не систематично:) 3) Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии. Может стоит проверять по регулярному выражению такие случаи, и предупреждать пользователя об возможной ошибке при наборе, строгости ради?
Спасибо за замечания и предложения!
Сергей Раскин пишет:
много таких записей, где иногда даже более одного пробела в конце (о ужас)
Можно пару таких для примера?
Сергей Раскин пишет:
Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии
Про разнобой знаю, но на устранение оного нет ни времени, ни сил.
Сергей Раскин пишет:
много таких записей, где иногда даже более одного пробела в конце (о ужас)
Дмитрий Орешкин пишет:
Можно пару таких для примера?
Мне кажется, при вводе в базу (или куда там?) лишние пробелы убираются, только в форумных сообщениях такое, но тут ведь вряд ли реально прикрутить проверку, как я своим здравым смыслом понимаю...
меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et". Давайте не будем избавляться от слов!
& - амперсанд. А писать его просто :)
Лена Глазунова пишет:
тут ведь вряд ли реально прикрутить проверку
Прежде чем проверять, надо посмотреть на конкретные примеры. Давайте подождём.
пробел в конце 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
По поводу разнобоя. А что тут мудрить то, конечно вручную это не поправить. Я так понял у вас тут всё на 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] включать все эти "Á","ö" и прочие штуки, либо не будет... Но это уже детали
Денис Мельников пишет:
меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et". Давайте не будем избавляться от слов!
Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит
По поводу пробелов. Да, почему-то при парсинге исходных текстов не удалил их. Но с моей точки зрения их наличие или отсутствие для сайта не важно - при отображении в виде HTML соседние пробелы "схлопываются", если только это специально не запретить. Я и не запрещаю... Если кому-то важно отсутствие пробелов - элементарно удалит их сам. За почти три года существования сайта это первая жалоба :)
Сергей Раскин пишет:
Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит
Если уж говорить об унификации написания авторов, дело одним сведением "&" в "et" ограничиваться не должно. К примеру, нужно будет ещё сокращения фамилий к одному стандарту приводить, добавлять или убирать инициалы и т.п. Работа кропотливая и огромная. У меня нет ни времени, ни мотивов ей заниматься, и вряд ли они появятся в течение ближайшего года. И вряд ли найдётся тот человек, который это захочет делать - денег я ему заплатить не смогу. А если и найдётся - не факт, что я ему доверю эту работу. Поверьте, я ценю точность и правильность, но в жизни есть другие силы, подавляющие перфекционизм :)
да, это лишняя работа
Ок. Простите за перфекционистскую дотошность
Тогда буду здесь просто ошибки записывать:) например Polygonum rigidum Skvortsov in
а это всегда пожалуйста! :)
Сергей Раскин пишет:
Polygonum rigidum Skvortsov in
Исправил, спасибо! Если будет ещё что-то подобное, можете просто писать мне на электронную почту (если Вам удобно, достаточно просто URL страницы с неверным написанием автора).
Ок. написал
Поиск
Top.Mail.Ru Обратная связь Наверх
www.plantarium.ru