|
|
html原文件中tppabs标记是Teleport Pro软件留下的标记。该软件是离线浏览器,下载完整个网页后,它会在图片或超级链接标签内插入tppabs标签,以记录该图片或超级链接指向的原始地址。因为这个标签不是合法标签,所以普通浏览器会忽略它。但可以通过element.getAttribute("tppabs")在JS中读取这个属性。; J+ L* j6 O) P" r
1 L& N4 H/ n" L) o$ A如我们手动清除的话,那将是一个无法估计的工作量,需要批量清除。利用DreamWeaver正则表达式批量清除tppabs标签更加容易、快捷。5 O$ t" h* w- |
7 ~6 D" B. }2 B5 s# i, P1 }
方法如下:
$ ?9 Y0 w. H4 T* x" E, D& l
' H8 O8 b3 v5 S3 {使用DW替换功能:
: R* r' n* _9 Z* E8 w查找范围:整个当前本地站点: d3 Z+ r; W. q; Z( G( \: \
搜索:源代码
1 n4 J4 X: m; D `' s查找:\btppabs="h[^"]*"
2 F& T9 a2 r3 L- ?/ ^) F# x替换:(为空)
9 [' s1 D7 b0 U+ x勾选:使用正则表达式4 @$ Z# Z0 o+ }
点替换全部按钮即可
4 P7 e- `; e8 p: u' L3 E) k3 x% e9 _! \6 k# }7 { F
匹配javascript代码:
# n0 J3 t) r, L6 \
' n/ {6 }# R9 G* H方法如下:# _1 u( t! u; k9 H- C1 N. O2 E
查找范围:整个当前本地站点
6 L/ V4 ^6 T) L9 l4 m( Q: s搜索:源代码2 r/ _0 ?/ C$ R+ |
查找:href="javascript:if(confirm('htt[^"]*"
- A! P7 V" B7 U$ [5 V替换:href=www.xxx.com6 V! O9 E) P. z4 }
勾选:使用正则表达式9 U4 K) i* ~, i8 L5 r
点替换全部按钮
A4 T. v0 I3 _ r3 W0 v1 ], U+ @# a) ^7 c/ m+ l
注:如果该表达式中含有不同的网址,可使用ifconfirm(′htt[′′]∗(注意其他代码是否使用此类语法表达)匹配不带网址的部分,替换成空。8 c! N8 z7 D7 U5 O0 C8 }! ^$ u& q
# a9 s6 ]" [/ J( h& R. ?' pcss文件有一些类似/tpa=http://www.xxx.com/test.gif/代码' Q8 u7 n7 N4 L8 p1 j
. c2 F1 r" t7 h8 K8 y9 |5 Z- b) u方法如下:
2 U9 S4 N/ h, _: J( F0 ?! u查找范围:整个当前本地站点
- u( Z, A6 j# T3 ]. r2 g6 c搜索:源代码
8 F) `9 i; X0 S" A6 w( p0 U查找:/*tpa=http://[^\s]*/
9 Z) H9 m2 B& m# O% y' C4 M8 Y替换:空$ \$ F% h: x+ s& H' T5 m
勾选:使用正则表达式
3 v- \. `4 M4 p6 m3 O' u1 \7 Z. w T3 t点替换全部按钮( j; ]: }* R( R7 n" D E
, M" F5 E6 N4 k6 {1 Z9 `1 |
字符 匹配 示例
5 a s) S- `$ |* X^ 输入或行的起始部分。 ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom's Cabin”中的“T”。# e" F* N% V" d- T+ E& h
$ 输入或行的结尾部分。 h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h”2 o" J; q6 m$ m8 v4 h, Q5 P
$ r$ c" ^# {+ ] I7 J
0 个或多个前置字符。 um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u”0 h% G' b6 U9 T" X/ J0 g$ N5 u
1 个或多个前置字符。 um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项- m |3 R p. }4 A7 i# W. N$ l
? 前置字符最多出现一次(即,指示前置字符是可选的)。 st?on 匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”和“tension”中没有任何匹配项
! j7 n3 `; p4 j. 除换行符外的任何单字符。 .an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
; Z' l4 l3 u( O( Qx|y x 或 y。 FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”; Z( H( p0 u% L8 w! G
{n} 恰好 n 个前置字符。 o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个“o”,但在“money”中没有任何匹配项
, L1 x: c% O s; L: D: f; m{n,m} 至少 n 个、至多 m 个前置字符。 F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
9 `( j* V6 B' t& X9 @4 o1 d[abc] 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。 [e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”- p m7 Z6 j% y6 a1 k/ K
[^abc] 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 [^aeiou] 最初匹配“orange”中“r”、“book”中的“b”和“eek!”中的“k”& L( U4 E: s' `& _! N
\b 词边界(例如空格或回车符)。 \bb 匹配“book”中的“b”,但在“goober”和“snob”中没有任何匹配项
0 P) U: P# T' u6 W1 ~3 G1 A\B 词边界之外的任何内容。 \Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项2 K% z8 J3 n0 ^4 |
\d 任何数字字符。等效于 [0-9]。 \d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
# P2 ]& ]1 j7 {% b$ s* @9 |; f\D 任何非数字字符。等效于 [^0-9]。 \D 匹配“900S”中的“S”和“Q45”中的“Q”
7 s/ w) U1 w8 U8 u% S\f 换页符。
* n7 z, }4 Y2 C8 i" ~4 v\n 换行符。) ?$ n9 s2 w& Q0 [3 j
\r 回车符。
' `. e& V0 K- F; v" Q\s 任何单个空白字符,包括空格、制表符、换页符或换行符。 \sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项6 X9 i* a1 C) ~( _
\S 任何单个非空白字符。 \Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
1 l- J; S; V# }; R% ]; z\t 制表符。
8 A" [: y% a) j' d\w 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 b\w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
; S/ V. i; [. \3 P' Q, m7 l- K0 x\W 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 \W 匹配“Jake&Mattie”中的
6 O+ ^ f' g1 L* @) p+ n: lTeleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列软件下载的离线网页里会包含大量冗余代码(如tppabs),手动去修改工作量很大,下面介绍如何通过软件进行正则表达式批量替换冗余代码(推荐DreamWeaver的正则替换功能)。- j/ N0 I. A/ p
' q/ w7 B/ I- X# y( m
清除tppabs标签:6 ^+ P0 z+ Z3 p6 c) t9 t" ?1 H( W
' y, ?* g" b( I5 S
html文件中:: z( j5 s% P/ D- ~0 @. a/ z
5 h7 `+ `( M% ?" F$ L- F
查找:\btppabs="h[^"]*"
6 e/ v# g/ h8 o, B( M$ u! y% s9 o3 [ Y) G- h5 |( `4 ~
替换:(空)) x# X, m- i6 E+ W& ]( n% @% r
6 I) m. P- B% t l: p
css文件中的图片链接(以gif图片为例):
# p; O6 O1 K( ~" ~( U8 c, [6 e( Y- p$ D3 h% K# m2 N
查找:tpa=http://[^\s]*.gif
3 x9 I" Q: T% e/ a- I: m A% i% ^: }$ A, j) Z6 d5 S- A. S1 a
替换:(空); {: V5 m) u% r: O5 [; {, h9 H/ w7 v
3 C' y2 \6 h& v: }8 A2 Y; n8 D9 Scss文件中的注释:2 M1 Q, A6 p* q" D9 M# B0 m
; o4 ]4 ~3 n* N) L t查找:/*tpa.*?*/- m' n5 g+ \- ]# |7 E+ O# @
7 |: c, D3 E3 W* u替换:(空)) C, d4 U" y x. p" Z
, e1 v2 z4 m. z修复confirm链接:3 k0 w! m/ S& Z6 j4 s3 M
4 O) W2 t. k( s) w) d查找:href=" javascript:if(confirm('(htt[^"\s]).*?") Z3 u1 @% J* i' {4 i" `9 \
1 c1 k( F7 @2 s1 k1 n替换:href="$1"
& k* Q% Y. `: R, e
3 W4 M7 H- [" p6 u; g; X冗余代码示例:href="javascript:if(confirm('http://www.xxx.com/ \n\n该文件无法用 Teleport Ultra 下载, 因为 不可用, 或放弃了下载, 或项目即将停止。 \n\n你想在服务器上打开它?'))window.location='http://www.xxx.com/'"# I, o9 u* q0 K" `; v- |
l" Q$ S& @4 S; P0 M; J7 m F7 t示例替换后结果:href=http://www.xxx.com/
9 b' i/ e. F% x% ]9 R! A% `
" G. H0 C8 {0 `' c1 K& F" e |
|