6

注意:我不打算使用 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

4 回答 4

5

从 Zsolt Botykai 和 Mark Biek 那里得到一些想法:

:%s:<input\(.* id="\([^"]*\)".*\) />:<input \1 value="<?php echo $data['\2']; ?> />:g
于 2008-09-23T19:53:52.157 回答
4

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

那是一条线。HTH。

于 2008-09-23T19:49:20.063 回答
2

我是这样做的。我不确定如何逃脱它以在 vim 中工作。如果我能弄清楚,我会编辑

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

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

这是替换部分:

<input \1 id="\2" \3 value="<?php echo $data['\2']; ?>" />
于 2008-09-23T19:58:14.377 回答
-1

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

/type="text"

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

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

第三步:开心!

于 2008-09-23T19:59:19.710 回答