Могу ли я использовать RegEx и VI (или что-то подобное) для автозаполнения текста?

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

  •  02-07-2019
  •  | 
  •  

Вопрос

ПРИМЕЧАНИЕ:Я не собираюсь использовать VI, это просто первое, что пришло на ум, что может сделать то, что мне нужно.Не стесняйтесь предлагать любую другую программу.

У меня есть форма с почти 100 полями, которые я хотел бы автоматически заполнить с помощью PHP.Я знаю, как сделать автозаполнение, но мне бы не хотелось вручную добавлять нужный текст в 100 полей.

Есть ли автоматизированный способ получить текст:

<input name="riskRating" id="riskRating" type="text" />

и измените его на:

<input name="riskRating" id="riskRating" type="text" value="<?php echo $data['riskRating']; ?>" />

Помните, что я хочу сделать это почти со 100 полями.Я стараюсь избегать обращения к каждому полю, вставки PHP-кода и изменения имени переменной вручную.

Я надеюсь, что какой-нибудь гуру VI знает это наизусть.

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

Решение

Взяв некоторые идеи у Жолта Ботыкая и Марка Биека:

:%s:<input\(.* id="\([^"]*\)".*\) />:<input \1 value="<?php echo $data['\2']; ?> />:g

Другие советы

:%s:\(<input name="\([^"]\+\)" id="[^"]\+" type="text" \)/>:\1value="<?php echo $data ['\2']; ?>" />:gci

Это одна линия.ХТХ.

Я сделал это вот так.Однако я не уверен, как избежать этого, чтобы работать в vim.отредактирую, если разберусь

Это поисковая часть регулярного выражения:

<input (.*) id="(.*?)" (.*) />

Это заменяемая часть:

<input \1 id="\2" \3 value="<?php echo $data['\2']; ?>" />

шаг 1 :найдите цепочку type="text" :

/type="text"

Убедитесь, что все нужные строки перехвачены.шаг 2 :Замените желаемой строкой:

:%s//type="text" value="<?php echo $data riskrating]; ?>"/g

шаг 3 :Будь счастлив !

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