2017-09-01 85 views
2

我有一个HTML页面,并从JavaScript,我想使用正则表达式来找到该HTML页面内的某个项目,并用不同的字符串替换它...搜索某个部分的html文档并替换

具体而言,本项目是在HTML文档

我使用HLS流媒体视频的身体脚本部分内..

,并在人体内,有一个脚本部分,包括行

hls.loadSource('http://streaming.com/stream.m3u8'); 

我想使用正则表达式来找到m3u8文件链接的字符串,所以基本上,任何适合模式http://(anything).m3u8的字符串,然后用新字符串替换它。

没有人知道一个好的方法来使用正则表达式来搜索整个HTML文档的字符串适合该正则表达式,然后我怎么可以在文档中只替换一个字符串?

+0

你在使用HTML语言用? –

+0

我使用node.js和javascript来创建一个web服务器,并提供HTML页面,我想从我的主要node.js服务器javascript文件 – Chase

回答

2

您正在寻找的正则表达式可能是^'http://.*\.m3u8'$。 现在你可以在几乎任何语言中使用它并替换它。

如果你的语言是JavaScript,

str.replace(new RegExp("^'http://.*\.m3u8'$"), "myURL"); 

会做。您需要将您的HTML的完整内容读入str

+1

更改HTML文档“点”(。)'意味着“匹配任何单个字符在这里“,但是你想匹配实际的_period_作为整个'.m3u8'文件扩展名的一部分 - 所以转义点:'http://.* \ .m3u8' –

2

使用JavaScript,您可以使用正则表达式使用document.body.innerHTML属性更换整个HTML:

document.body.innerHTML = document.body.innerHTML.replace(new RegExp("^'http://.*\.m3u8'$"), "foo");