Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用HTML标记替换字符串中的特定字符_Javascript_Html_Replace - Fatal编程技术网

Javascript 用HTML标记替换字符串中的特定字符

Javascript 用HTML标记替换字符串中的特定字符,javascript,html,replace,Javascript,Html,Replace,如果有文本输入,则必须将其转换为标记。例如,特殊字符是*,两个特殊字符之间的文本必须以斜体显示 例如: This is *my* wonderful *text* 必须转换为: This is <i>my</i> wonderful <i>text</i> 这是我的精彩文本 所以我试过: const arr = "This is *my* wonderful *text*"; if (arr.includes('*'))

如果有文本输入,则必须将其转换为标记。例如,特殊字符是
*
,两个特殊字符之间的文本必须以斜体显示

例如:

This is *my* wonderful *text*
必须转换为:

This is <i>my</i> wonderful <i>text</i>
这是我的精彩文本
所以我试过:

const arr = "This is *my* wonderful *text*";
 if (arr.includes('*')) {
      arr[index] = arr.replace('*', '<i>');
    }
const arr=“这是*我的*精彩的*文本*”;
if(arr.includes('*')){
arr[索引]=arr.replace('*','');
}
它将用
替换星形字符,但如果有更多特殊字符,则不起作用


有什么想法吗?

您可以简单地创建
包装器
,然后使用正则表达式来检测是否有任何单词被
*
包围,并简单地用任何标记替换它,在您的示例中是
标记,因此只需查看以下内容

例子
let str=“这是我的精彩文本*”;
让正则表达式=/(?给你,我的朋友:

var arr=“这是*我的*精彩的*文本*”;
常数匹配=arr.match(/\*(?:.*?)\*/g);
for(设i=0;i控制台日志(arr)
尝试使用此
未捕获类型错误
您是否运行了代码段?您可以运行它来发现这里有一个屏幕截图和一支笔工作良好我不知道为什么不工作,但只看到中的错误与代码段和我的浏览器神圣无限循环中的错误相同,蝙蝠侠!您是否使用包含单个aster的字符串测试了此错误isk?如果变量包含字符串类型的数据,为什么要命名变量
arr
?放弃循环并尝试
g
修饰符如何?很抱歉我的命名错误