我需要在字符串中找到所有src和href,并用完全quilifies url替换它们。
例如: src =“/ test / style.css?somethinghere”变成src =“http://www.mydomain.com/test/style.css?somethinghere”
和href的相同。
我将在Web中继服务器中使用它们。
我将使用正则表达式替换,但正则表达式是什么样的?
答案 0 :(得分:0)
您缺少重要信息,例如:您感兴趣的正则表达式的类型。我假设您指的是与perl兼容的正则表达式。
无论如何,这将有助于指导,理论和答案,如果您让我知道所使用的引擎/语言,我可能会帮助您根据自己的需要进行调整。
我使用类似的东西收集,预处理,过滤和转发来自不同地方的相关新闻源。 MSDN有这个相对URI的问题,这是我的配置:
'msdn' => {
'action' => [
{
'tag' => 'get_url_as_content'
},
...
...
{
'regex' => 's/<img( [^\\/>]*)src="\\//<img$1src="http:\\/\\/blogs.msdn.com\\//gsi',
'tag' => 'mod_content'
},
{
'regex' => 's/<a( [^\\/>]*)href="\\//<a$1href="http:\\/\\/blogs.msdn.com\\//gsi',
'tag' => 'mod_content'
}
...
...
]
},
在这里,您可以看到我正在使用的两个正则表达式。
这个恢复img和src单词之间的内容,然后使URL绝对。
s/<img( [^\/>]*)src="\//<img$1src="http:\/\/blogs.msdn.com\//gsi
类似于锚标签......
s/<a( [^\/>]*)href="\//<a$1href="http:\/\/blogs.msdn.com\//gsi
这些已经工作了很长一段时间,超过3年没有问题: - )
希望这有帮助。