Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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_Regex_Replace - Fatal编程技术网

Javascript 使用正则表达式处理带有html标记的字符串

Javascript 使用正则表达式处理带有html标记的字符串,javascript,html,regex,replace,Javascript,Html,Regex,Replace,我有字符串test1 test2 test3 span test4,我想在span单词周围放置span标记,该单词的位置在之后,而不需要使用javascript正则表达式接触现有的span标记。正则表达式: (<\/span> )(span) ()(span) 替换字符串: $1<span>$2</span> $1$2 'test1 test2 test3 span test4'。替换(/()(span)/g,“$1$2”) '测试1测试2测试3跨测

我有字符串
test1 test2 test3 span test4
,我想在
span
单词周围放置span标记,该单词的位置在
之后,而不需要使用javascript正则表达式接触现有的span标记。

正则表达式:

(<\/span> )(span)
()(span)
替换字符串:

$1<span>$2</span>
$1$2

'test1 test2 test3 span test4'。替换(/()(span)/g,“$1$2”)
'测试1测试2测试3跨测试4'

这听起来像是在操纵HTML,实际上不应该用正则表达式来完成,而应该用能够真正解析HTML的东西来完成。
str.replace('span','span')
?@pattmorter-这将只替换第一个span,给出
test1 test2tes@adeno你说得对。。。idk我在想什么哈哈。str.replace('span','span')?对于当前示例,您的答案是正确的,但让我们更仔细地思考一下。我想做同样的思考,但任何单词或单词的一部分,接近span标记的文本。例如,来自
span
pa
非常接近,但我想要的结果是:
'test1 test2 test3 span test4'
可能吗?
> 'test1 test2 tes<span style="color:red;">t3</span> span test4'.replace(/(<\/span> )(span)/g, "$1<span>$2</span>")
'test1 test2 tes<span style="color:red;">t3</span> <span>span</span> test4'