【问题标题】:Regular Expressions Variables正则表达式变量
【发布时间】:2017-12-13 04:29:22
【问题描述】:

我正在使用 Sublime Text 将一些 HTML 输入替换为正则表达式,以使我的工作比一个一个替换更容易。

我有几个输入没有任何定义的 ID,我想根据它们的名称动态地为它们分配 ID。

我使用这个正则表达式来查找所有输入字段:

<input class="form-control" [a-z]{1,99}="[a-z]{1,30}" .[a-z="0]{1,20} name="([a-z_]{1,50})"

有没有办法使用正则表达式来做我需要的事情?例如这里有几行代码:

<div class="row">
    <fieldset class="form-group col-md">
        <label for="" class="control-label">Temporada</label>
        <input class="form-control" type="number" min="0" name="season" value="{{ old('season') }}">
    </fieldset>
    <fieldset class="form-group col-md">
        <label for="" class="control-label">Anual</label>
        <input class="form-control" type="number" min="0" name="annual" value="{{ old('annual') }}">
    </fieldset>
    <fieldset class="form-group col-md">
        <label for="" class="control-label">Invierno</label>
        <input class="form-control" type="number" min="0" name="winter" value="{{ old('winter') }}">
    </fieldset>
</div>

所以我想将name="&lt;somethingHere&gt; 更改为name="&lt;somethingHere&gt;" id="&lt;somethingHere&gt;"。所以,我不必修改整个表单。

提前致谢。

【问题讨论】:

  • 来自 jquery 你想做那件事吗?
  • 您可以选择name=" 然后按ctrl+d 查找所有然后根据需要替换。由于只有name 存在,因此您不必寻找其他属性。您可以复制并添加到新属性。
  • 我被你的语法弄糊涂了。例如,[a-z]{1,99}="[a-z]{1,30}" 不应该只是id="[a-z]{1,30}" 甚至data-[a-z]{1,99}="[a-z]{1,30}" 吗?下面这个随机字符串.[a-z="0]{1,20}在里面做什么??
  • 另外,您可以使用 JS 轻松完成此操作,我相信您可以使用 vanilla PHP 完成相同的操作。动态生成的值究竟是基于什么,是什么决定了它们?

标签: php html regex laravel


【解决方案1】:

使用正则表达式查找和替换:

找到什么:

(<input[^>]+?name="([^"]*)")

替换为:

$1 id="$2"

【讨论】:

  • 完美!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-06
  • 2017-10-24
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多