Posso usar RegEx e VI (ou algo similar) para preencher automaticamente algum texto para mim?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

NOTA: Não estou definir sobre a utilização VI, é apenas a primeira coisa que me veio à mente que pode ser capaz de fazer o que eu preciso. Sinta-se livre para sugerir qualquer outro programa.

Eu tenho um formulário com cerca de 100 campos que gostaria de auto-preenchimento com PHP. Eu sei como fazer o preenchimento automático, mas eu gostaria de evitar manualmente adicionando o texto necessário para 100 campos.

Existe uma maneira automatizada eu posso levar o texto:

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

e alterá-lo para:

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

Lembre-se que eu estou querendo fazer isso a quase 100 campos. Estou tentando evitar ir a cada campo, colando no código PHP e mudando o nome da variável manualmente.

Eu estou esperando que alguns VI guru lá fora sabe fora do topo de seu / sua cabeça.

Foi útil?

Solução

Como tirar algumas idéias de Zsolt Botykai e Mark Biek:

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

Outras dicas

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

Essa é uma linha. HTH.

Eu fiz isso assim. Não tenho certeza de como escapar ao trabalho no vim embora. Vou editar se eu posso descobrir isso

Esta é a parte de pesquisa do regex:

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

Esta é a parte substituir:

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

Passo 1: procurar o tipo chaine = "text":

/type="text"

Verifique se todas as cordas que você quer são capturados. Passo 2: Subsitute com a corda queria:

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

Passo 3: Seja feliz

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top