繁体   English   中英

使用JQUERY查找并用REGEX替换字符串

[英]Find and Replace String with REGEX using JQUERY

我有一个通过AJAX导入的模板文件。 该文件包含我想用输入字段替换的标签。 标签中的数字有助于输入字段的名称和ID。 标签是这样的:

{ele1}

这是我发现建立正则表达式的内容

<script language=javascript>
  var txt='{ELE1}';

  var re1='(\\{)';  // Any Single Character 1
  var re2='(ELE)';  // Word 1
  var re3='(\\d+)'; // Integer Number 1
  var re4='(\\})';  // Any Single Character 2

  var p = new RegExp(re1+re2+re3+re4,["i"]);
  var m = p.exec(txt);
  if (m != null)
  {
      var c1=m[1];
      var word1=m[2];
      var int1=m[3];
      var c2=m[4];
      document.write("("+c1.replace(/</,"&lt;")+")"+"("+word1.replace(/</,"&lt;")+")"+"("+int1.replace(/</,"&lt;")+")"+"("+c2.replace(/</,"&lt;")+")"+"\n");
  }
</script>

那么我该如何使用JQUERY查找并替换为

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

我使用方括号的原因是因为我的PHP模板引擎。 我有一个脚本,一旦提交,它将接受输入字段,并用这些输入替换括号。 所以我使用相同的模板文件。

这是模板文件的片段:

<p>
1. {ele7} your gift.
</p>
<p>
<b>13</b> You made all the delicate, inner parts of my body and knit me together in my mother's womb. <b>14</b> Thank you for making me so wonderfully complex! <strong>Psalm 139:13-14 NLT</strong>
</p>

基本上{ele7}将更改为

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

假设txt包含您从模板中获取的数据。 您可以执行以下操作:

newcontent = txt.replace(
    /\{(ele\d+)\}/gi,
    '<input type="text" name="$1" id="$1" />'
);

编辑

抱歉,匹配的组被引用为${n}而不是\\{n}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM