Усовершенствованная находка и заменить с помощью режима в возвышенном тексте

StackOverflow https://stackoverflow.com/questions/20353580

Вопрос

У меня есть каталог, полный Классический асп Наследие код, и почти все файлы имеют что -то похожее на это:

<input type="hidden" name="driverPayment" value="<% =driverPayment %>">

Потом позже в коде работает какой -то JavaScript, и выполняет следующее:

var x = document.getElementById('driverPayment')

Это отлично работает в IE, но, конечно, нигде не работает, потому что не определено атрибут ID.

Исправление состоит в том, чтобы пройти через файлы 1770 и вручную добавить атрибут идентификатора, который соответствует свойству имени на входе. Так что сделайте это так:

<input type="hidden" name="driverPayment" id="driverPayment" value="<% =driverPayment %>">

Есть ли способ, которым я могу автоматизировать этот процесс, используя логику ниже:

  1. Получите входной элемент с атрибутом имени
  2. Если ввод имеет атрибут идентификатора, перейдите к следующему входу
  3. Иначе добавьте атрибут идентификатора к вводу и дайте ему имя, соответствующее значению атрибута имени

Я хотел бы сделать это для классических файлов ASP 1770, которые у меня есть. Я использую великолепный текст.

Это было полезно?

Решение

Вы можете использовать Regex, чтобы соответствовать. Моя корпорация не очень хороша, но следующее должно работать. Рад, что другие улучшают это. Я использовал какую -то форму из этот вопрос.

Кножмите правой кнопкой мыши папку проекта

Выберите опцию «Найти в папке»

Найдите и замените параметры появления внизу экрана. Выберите опцию Regex (крайне слева).

regex-find-and-replace

Войти

<(?:input)\s+(?=[^>]*\bname\s*=)(?![^>]*\bid\s*=)[^>]*>?(name="driverPayment")

в поле «Найти поле»

Войти

id="driverPayment" name="driverPayment" 

В поле замены

Нажмите «Заменить»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top