Могу ли я использовать RegEx и VI (или что-то подобное) для автозаполнения текста для меня? - PullRequest
6 голосов
/ 23 сентября 2008

ПРИМЕЧАНИЕ: я не настроен на использование 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 гуру знает об этом на макушке.

Ответы [ 4 ]

5 голосов
/ 23 сентября 2008

Принимая некоторые идеи от Жолт Ботыкай и Марка Бика:

:%s:<input\(.* id="\([^"]*\)".*\) />:<input \1 value="<?php echo $data['\2']; ?> />:g
4 голосов
/ 23 сентября 2008

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

Это одна строка. НТН.

2 голосов
/ 23 сентября 2008

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

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

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

Это запасная часть:

<input \1 id="\2" \3 value="<?php echo $data['\2']; ?>" />
0 голосов
/ 23 сентября 2008

шаг 1: поиск в цепочке type = "text":

/type="text"

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...