2

私は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">

結果パスが次に対してUnixスタイルになるように、すべてのsrcタグを置き換える必要がありますbaseURL

<IMG src="root/foo/bla.gif">

または、alt属性があった場合(または他の属性の順序は異なる場合があります):

<IMG alt="foo" src="root/foo/bla.gif">

どうすれば一致し<IMG * src="*" *>ますか?ここでRegEx(または他の方法)が役立つアイデアはありますか?

(IE8 / 9 DOMがそもそもこの状況を引き起こしているため、DOMを使用してこのジョブを実行することはできません-<base href>すべての相対的なsrcタグに自動的に追加されます)

4

2 に答える 2

4

できるよ

正規表現:(<IMG[^>]*)src="[^"]*c:.whatever.mybasedir.

と置換する:$1src="

于 2013-01-14T10:54:49.880 に答える
3

交換(<IMG.*src=")(.*[/\\])(root[/\\].*?".*>)

$1$3

編集

これがうまくいくことを願っています

交換(<IMG.*src=")(.*[/\\]mybasedir[/\\])(root)(([/\\][^/\\]+)*)(".*>)

$1$3$4$6

于 2013-01-14T11:00:32.833 に答える