微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为文本区域中的每个匹配创建一个函数

如何解决为文本区域中的每个匹配创建一个函数

我有一个文本区域,其中一些表达式放在方括号中。我需要在方括号内找到所有表达式,并向每个表达式添加一些代码(将它们包装在内)

到目前为止,我只设法识别了表达式,但是我找不到运行循环函数来处理它们的方法(我在想一个“每个”函数HTML代码示例:

<div id="myDiv">
   <textarea>
      everyone [David] wants to travel the world [Paris] with a car [Fiat]
   </textarea>
</div>
到目前为止,我的jQuery代码是:
$(document).ready(function() {
    var myText = $('#myDiv').text();
    var regex= /\[([^\]]*)\]/;
    var result = myText.match( /\[(.*)\]/  );
});

从这里开始,我尝试的每个功能都无法正常工作...有什么建议吗?

解决方法

我建议检查您的正则表达式,如果它返回正确的匹配项。可能没有返回您期望的正确匹配。

$(document).ready(function() {      
     var myText = $('#myDiv').text();
     var result = myText.replace(/\[/g,'<span>').replace(/\]/g,'</span>');
     $('#output').append(result);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myDiv">
   <textarea>
      everyone [David] wants to travel the world [Paris] with a car [Fiat]
   </textarea>
   <div id="output"></div>
</div>

上面的代码将匹配[]中的文本,并创建一个列表并将其附加到具有id输出的div上。无法从问题中得知wrap them inside是什么意思。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。