Ссылки
Поиск
Новости, Статьи |
Форум |
Файлы |
Привет, Гость
Обновления на форуме
Гадания на таро 0 >> |
Блок новостей в виде блога 1 >> |
Игры для сайта 34 >> |
Сервис создания тестов 94 >> |
Дед 1 >> |
Последние статьи
Сайт для фирмы-изготовителя натяжных потолков 0 |
Антиспам «Я не робот» 0 |
За что воюет Украина и когда всё это кончится 12 |
Удаление родителя текущего элемента на jQuery 0 |
Простой аккордеон на jQuery №3 0 |
Люди так удивляются, когда с ними ведёшь себя, как и они с тобой.
Разделы → Статьи → Разработка сайтов → Поиск неправильных строк в ini файлах
Совсем недавно пришлось редактировать языковой файл Joomla. В файле было более 1000 строк, поэтому пришлось использовать Гугл-переводчик, после чего файл «поломался». В частности, Гугл-переводчик во многих местах сделал подмену по своему усмотрению двойные кавычки (") на ёлочки (» или «), наставил пробелов, вынес точки за кавычки. Найти такие строчки в 1000+ строковом файле не совсем тривиальная задача. Часть 1. Поиск с помощью «синтакисиса» Сначала я попытался найти строки, используя подсветку в редакторе Notepad++. Вкладка «Синтаксисы» — выбирайте что нравится. Например, подсветка AutoIt частично справляется с задачей: Но не совсем. Визуально не видно, если нет завершающей кавычки, две кавычки или какой-то символ вынесен за завершающую кавычку. В общем, не фонтан, можно искать долго и нудно. Часть 2. Поиск с помощью регулярки на сервере В общем, по-простому быстро не получилось, облом. Тогда я вспомнил, что «яжпрограммист» и буквально за 10 минут написал небольшой PHP-скрипт, который тупо по регулярному выражению перебирает все строки, запоминает «нестандарт» и выводит подозрительное в удобном виде с указанием строки:
Небольшое отступление. Если вам, как и мне, иногда хочется исполнять код прямо на сервере, то вот ссылка на мой инструмент: https://git...Filemanager Это файловый менеджер, которым я пользуюсь. Самое главное из того, что он может: 1. Просматривать и управлять файлами на сервере. 2. Консоль для выполнения команд — на PHP и на MySQL 3. Прокси Это конечно кратко и не всё. Он также содержит настройки , может сохранять логин/пароль, шаблоны для консоли и т.д. и т.п. — и это всё в одном файле. Подробнее о истории разработки файл-менеджера, скриншоты работы скрипта и все его версии можно скачать здесь — https://git...er/releases В будущем планируется отдельный сайт поддержки. Пока не готов логотип для проекта, обсуждение лого здесь — https://www...ads/287597/ Вернемся к нашим ini файлам. В конце концов я конечно сделал всё, ошибки нашёл, но «недосказанность» какая-то осталась. Ведь редактор Notepad++ удобнее для поиска «неправильных» строк. Да и не будешь каждый раз поднимать сервер и закачивать туда файлы, сканировать их скриптами и пр. Вот бы редактор сам показал такие строки! Стоп, так есть же синтаксис регулярных выражений, который работает в Notepad++! Часть 3. Использование регулярных выражений в Notepad++ как идеальное решение задачи Регулярка-то у нас уже написана, опробована и работает.
Результат: «Найдено 1033 строки». При файле в 1041 строку ясно, что всё-таки оно сработало! Но тут есть проблема. Нам нужно найти то, что НЕ СООТВЕТСТВУЕТ этому выражению, а это уже сложнее. К счастью, нам на помощь придёт подсветка кода! На вкладке поиска Notepad++ перейдем на вкладку «Пометки» и нажмем «Пометить все». Вот теперь видны все включения «неправильных строк». Они остались «белыми»: Теперь мой внутренний перфекционист удовлетворен и я могу использовать этот опыт в будущем. Ну а вы, дорогие читатели, если есть замечания, можете озвучить их в комментариях. Например, в идеале было бы искать выражения, НЕ СООТВЕТСТВУЮЩИЕ данному. Но как это сделать, я не знаю. Если знаете, подскажите. Добавлю в статью. |
||||||
27.12.2017 13:23 | Автор/источник: Den1xxx |
Комментировать
Вы не залогинены! Регистрация
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.