我知道的是var baseURL
:baseURL = c:\whatever\mybasedir\
我有一个HTML源代码,可能包含:
<IMG alt="foo" src="file://c:\whatever\mybasedir\root\foo\bla.gif">
or/and:
<IMG alt="foo" src="file://c:/whatever/mybasedir/root/foo/bla.gif">
or/and:
<IMG src="c:\whatever\mybasedir\root\foo\bla.gif">
or/and:
<IMG src="c:\whatever\mybasedir/root/foo/bla.gif">
我需要替换所有src标记,以便结果路径是相对于baseURL
的Unix样式:
<IMG src="root/foo/bla.gif">
或者如果有alt属性(或其他属性的顺序可能会有所不同):
<IMG alt="foo" src="root/foo/bla.gif">
如何匹配<IMG * src="*" *>
?
任何想法RegEx(或其他方法)可以帮助吗?
(我不能使用DOM来完成这项工作,因为IE8 / 9 DOM首先导致了这种情况 - 自动将<base href>
添加到所有相关的src标签中)
答案 0 :(得分:4)
你可以做到
正则表达式:(<IMG[^>]*)src="[^"]*c:.whatever.mybasedir.
替换为:$1src="
答案 1 :(得分:3)
替换(<IMG.*src=")(.*[/\\])(root[/\\].*?".*>)
$1$3
修改强>
希望这会起作用
替换(<IMG.*src=")(.*[/\\]mybasedir[/\\])(root)(([/\\][^/\\]+)*)(".*>)
$1$3$4$6