【问题标题】:Can I use RegEx and VI (or something similar) to autofill some text for me?我可以使用 RegEx 和 VI(或类似的东西)为我自动填充一些文本吗?
【发布时间】:2010-09-12 12:10:11
【问题描述】:

注意:我不打算使用 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 大师知道他/她的头脑。

【问题讨论】:

    标签: php html vi


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。你们都为我省去了很多烦恼。
    【解决方案2】:

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

    这是一行。 HTH。

    【讨论】:

    • 除了“riskRating”的具体情况,我看不出这是如何工作的
    • 哦,那问题没有具体说明。更新答案。
    • “请记住,我想对近 100 个字段执行此操作。我试图避免进入每个字段,粘贴 PHP 代码并手动更改变量名称。”
    • 检查我的更新。我不是 PHP 程序员。而且您已经编写了预期的输出,并且没有提到它使用原始字符串中的“变量” - 特定于正则表达式的子表达式。
    【解决方案3】:

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

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

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

    这是替换部分:

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

    【讨论】:

    • 那比我的好。 :%s:::g
    • 感谢您的回答。你们都为我省去了很多烦恼。
    【解决方案4】:

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

    /type="text"
    

    验证你想要的所有字符串都被捕获。 第 2 步:用想要的字符串替换:

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

    第 3 步:快乐!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多