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

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

Я надеюсь, что какой-нибудь гуру ВИ знает наверняка.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
6
0
466
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

Это одна строка. HTH.

Я не понимаю, как это работает не только для конкретного случая "riskRating".

Mark Biek 23.09.2008 23:55

Уж тогда проблема точно не уточнялась. Обновление ответа.

Zsolt Botykai 23.09.2008 23:57

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

Mark Biek 23.09.2008 23:58

Проверьте мое обновление. Я не программист PHP. И вы написали ожидаемый результат и не упомянули, что он использует «переменную» - подвыражение, специфичное для регулярного выражения - из исходной строки.

Zsolt Botykai 24.09.2008 00:08
Ответ принят как подходящий

Взяв несколько идей от Жолта Боркая и Марка Байка:

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

Спасибо за ответы. Вы все избавили меня от большого раздражения.

Haabda 24.09.2008 00:40

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

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

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

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

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

Это лучше, чем у меня. :% s: <input (. *) id = "([^"] *) "(. *) />: <input \ 1 id =" \ 2 "\ 3 value =" <? php echo $ data [ '\ 2']; ?> "/>: g

Daniel James 24.09.2008 00:06

Спасибо за ответы. Вы все избавили меня от большого раздражения.

Haabda 24.09.2008 00:39

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

/type = "text"

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

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

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

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