我可以使用RegEx和VI(或者类似工具)为我自动填充一些文本吗?

时间:2020-03-06 14:37:21  来源:igfitidea点击:

注意:我并没有设置使用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:\(&lt;输入名称=" \([[^"] \ + \)" id =" [^"] \ +" type =" text" \)/>:\ 1value =" &lt;?php echo $ data ['\ 2'];?>" />:gci

那是一行。
HTH。

借鉴Zsolt Botykai和Mark Biek的一些想法:

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

我是这样做的。我不确定如何将其转义以在vim中工作。如果可以解决的话我会编辑

这是正则表达式的搜索部分:

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

这是替换部分:

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

步骤1:搜索chaine type =" text":

/type="text"

验证是否捕获了所需的所有字符串。
第2步:用所需的字符串替换:

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

第三步:开心!