Сергей Раскин | Может это конечно и не особо важно, и на первый взгляд даже и не заметно, но тем не менее:
1) когда пользователь вводит/меняет имя автора таксона надобы лишние пробелы с конца отрезать, прежде чем сохрянять в бд, а то у вас много таких записей, где иногда даже более одного пробела в конце (о ужас) ну и конечно же двойные пробелы в середине имени (ну таких всего пара штук, но тем не менее...)
2) Еще можно автоматом заменять " et " на " & ", а то ситуация такая же - вроде стандартная форма записи у вас выбрана все таки " & ", а две с половиной сотни таксонов с " et ", както не систематично
3) Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии. Может стоит проверять по регулярному выражению такие случаи, и предупреждать пользователя об возможной ошибке при наборе, строгости ради? |
Dmitry Oreshkin | Спасибо за замечания и предложения!
Сергей Раскин wrote:много таких записей, где иногда даже более одного пробела в конце (о ужас)
Можно пару таких для примера?
Сергей Раскин wrote:Сплошь и рядом в разнобой инициалы автора то с пробелами, то без пробелов от фамилии
Про разнобой знаю, но на устранение оного нет ни времени, ни сил. |
Lena Glazunova | Сергей Раскин wrote:много таких записей, где иногда даже более одного пробела в конце (о ужас) Дмитрий Орешкин wrote:
Можно пару таких для примера?
Мне кажется, при вводе в базу (или куда там?) лишние пробелы убираются, только в форумных сообщениях такое, но тут ведь вряд ли реально прикрутить проверку, как я своим здравым смыслом понимаю... |
Denis Melnikov | меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et". Давайте не будем избавляться от слов! |
Dmitry Oreshkin | & - амперсанд. А писать его просто |
Dmitry Oreshkin | Лена Глазунова wrote:тут ведь вряд ли реально прикрутить проверку
Прежде чем проверять, надо посмотреть на конкретные примеры. Давайте подождём. |
Сергей Раскин | По поводу разнобоя. А что тут мудрить то, конечно вручную это не поправить.
Я так понял у вас тут всё на 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>\" -> \"$modifiedauctor\"<br/>";
# ну а потом поглядев список изменений, убедившись что все как надо, убрать последний принт и сделать сохранение строки обратно
20 минут времени от силы... Хотя кому я говорю - вы и сами должны знать
Лена Глазунова wrote:Мне кажется, при вводе в базу (или куда там?) лишние пробелы убираются, только в форумных сообщениях такое, но тут ведь вряд ли реально прикрутить проверку, как я своим здравым смыслом понимаю...
Да почему же, такое можно даже на стороне клиента прикрутить (с пробелами) на яваскрипте, а с фамилиями и инициалами на стороне сервера, с проверкой по элементарному регулярному выражению '/([A-Z]\.)([A-Z][a-z])/'
Правда у вас тут уникодные символы используются, так что в зависимости от того как сконфигурирован php он либо будет в диапазон [a-z] включать все эти "Á","ö" и прочие штуки, либо не будет... Но это уже детали |
Сергей Раскин | Денис Мельников wrote:меня как "немца" пугает значок & - я даже не умею его писать и не знаю как он называется. Я везде упорно пишу латинское "et". Давайте не будем избавляться от слов!
Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит |
Dmitry Oreshkin | По поводу пробелов. Да, почему-то при парсинге исходных текстов не удалил их. Но с моей точки зрения их наличие или отсутствие для сайта не важно - при отображении в виде HTML соседние пробелы "схлопываются", если только это специально не запретить. Я и не запрещаю... Если кому-то важно отсутствие пробелов - элементарно удалит их сам. За почти три года существования сайта это первая жалоба |
Dmitry Oreshkin | Сергей Раскин wrote:Давайте. Но тогда надо везде слова писать вместо значков... Унификация рулит
Если уж говорить об унификации написания авторов, дело одним сведением "&" в "et" ограничиваться не должно. К примеру, нужно будет ещё сокращения фамилий к одному стандарту приводить, добавлять или убирать инициалы и т.п. Работа кропотливая и огромная. У меня нет ни времени, ни мотивов ей заниматься, и вряд ли они появятся в течение ближайшего года. И вряд ли найдётся тот человек, который это захочет делать - денег я ему заплатить не смогу. А если и найдётся - не факт, что я ему доверю эту работу. Поверьте, я ценю точность и правильность, но в жизни есть другие силы, подавляющие перфекционизм |
Сергей Раскин | Ок. Простите за перфекционистскую дотошность |
Сергей Раскин | Тогда буду здесь просто ошибки записывать
например
Polygonum rigidum Skvortsov in |
Dmitry Oreshkin | Сергей Раскин wrote:
Polygonum rigidum Skvortsov in
Исправил, спасибо! Если будет ещё что-то подобное, можете просто писать мне на электронную почту (если Вам удобно, достаточно просто URL страницы с неверным написанием автора). |