0

我需要在一个字符串中找到所有 src 和 href 并用完全 quilizes url 替换它们。

例如: src="/test/style.css?somethinghere" 变为 src="http://www.mydomain.com/test/style.css?somethinghere"

href 也是如此。

我将在 Web 中继服务器中使用它们。

我将使用正则表达式替换,但正则表达式是什么样的?

4

1 回答 1

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 年没有问题:-)

希望这可以帮助。

于 2012-07-11T10:34:31.427 回答