javascript - 使用正则表达式在 javascript 中将每个出现的链接替换为其特定的 href 对象( map 链接 -> a href=link)

标签 javascript node.js regex react-native

我需要更换

 "wjjghwkjghwkjgh https://www.google.com jhgkwjhgkwhgk https://youtube.com"

 "wjjghwkjghwkjgh <a href='https://www.google.com'>https://www.google.com</a> jhgkwjhgkwhgk <a href='https://youtube.com'>https://youtube.com</a>";

我已经草稿了https://jsbin.com/kosogijudo/1/edit?js,console包含正则表达式链接和示例消息以提供帮助

我不知道该怎么做,因为如果我创建一个循环,它会正确修改第一个循环,但在第二次迭代中,它会在标签内再次修改。

我认为有一种方法可以指定一个映射函数,它需要 link和输出<a href="link">link</a>

顺便说一下,这一切都是因为我需要使用 https://github.com/jsdf/react-native-htmlview在 native react 中显示 TextView 中的链接。如果 React Native 本身有一种现代的方法来做到这一点,那就太好了。

最佳答案

你可以试试这个

var string = "wjjghwkjghwkjgh https://www.google.com jhgkwjhgkwhgk https://youtube.com";
string.split(' ');
var answer = string.map(m => (m.includes('https') && [`<a href=${m}>${m}</a>`].join(m)) || m).join(' ');

关于javascript - 使用正则表达式在 javascript 中将每个出现的链接替换为其特定的 href 对象( map 链接 -> a href=link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49855964/

相关文章:

javascript - 下一个 上一个 预览 slider 导航

mysql - AWS Elastic Beanstalk 单容器 Docker 上用于 NodeJ 和 MySQL 的 Docker-compose.yml

java - 使用 Java 正则表达式列出名称中带有两个点的文件

php - 正则表达式收集最后一个/之后的所有内容

javascript - 使用取消按钮单击提交按钮后防止提交表单

javascript - 在一天中以一定的时间间隔更改文本(JavaScript)?

javascript - 检测 Ajax 调用内 div 的点击

javascript - 如何从嵌套函数返回响应?

node.js - AWS Lambda 找不到我的模块

regex - 将翻译限制在短语中的一个单词?