Как мы выяснили с Максимом в ходе непосредственного общения, этот редактор может осуществлять замену только в тех файлах, которые в текущий момент времени открыты на редактирование. Кроме того, как я выяснил позже, он не поддерживает регулярные выражения в полном объёме.
Стоящая передо мной задача на первый взгляд банальна: требуется заменить короткие открывающие PHP теги (<?) на полные (<?php). К сожалению, многие пользователи J-ИРБИС установили в php.ini директиву shot_open_tag в значение off. Я не могу найти этому ни одного разумного объяснения, но вынужден учитывать данный факт. Поэтому мне требуется найти в J-ИРБИС(980 файлов PHP) модифицированные мной файлы и заменить там короткие теги на полные. Для этого требуется заменить:
<\?(?!p|x)
на
<?php
(х и p – это начальные буквы php и xml – возможных значений тегов)
Единственная программа для этой цели, которую мне удалось найти – Advanced find and replace не поддерживет просмотр вперёд(как, впрочем, Total commander и Notepad++).
В итоге всё закончилось тем, что я написал скрипт из 30 строчек, который позволил без всяких проблем заменить теги. Я потратил на него в 10 раз меньше времени, чем на поиск и эксперименты с программами. Казалось бы и «и крови то всего с полстакана», как говорил герой Зощенко. Но мне кажется совершенно ненормальным то, что для выполнения банальной операции в 21 веке требуется самостоятельно писать скрипты...
При работе с WEB ИРБИС проблема замены данных типична и касается всех. Коллеги, я думаю, что нам всё-таки необходимо решить вопрос с поиском оптимального для ИРБИС-сообщества ПО.
Редактировано 1 раз. Последний раз 29.01.2009 01:28 пользователем Кирилл Соколинский (СЗТУ).