Page 1 of 1

求助:给图片添加alt值

Posted: Oct 21 2011, 17:21
by 怒放1
为<img *>添加alt值: 当alt="",或者没有alt,添加alt=&#9775;

下面3行中,第一行的alt="123"不用添加,后两行添加.
试过很多次就是不行,请老大帮忙.

<img src=ccc alt="123" onload=bbb \>

<img src=ccc alt="" onload=bbb \>

<img src=ccc onload=bbb \>

Re: 求助:给图片添加alt值

Posted: Oct 21 2011, 17:45
by ddbb
建议你还是用JAVASCRIPT来做.......

或者你写两条规则.....

一条不是不能写 不过很麻烦

另外你的例子是不是给错了.......标签的结尾应该是 /> 吧 我记得.....而且网上多数img标签 是不写结尾的

Re: 求助:给图片添加alt值

Posted: Oct 21 2011, 18:08
by 怒放1
/> 这个情况也是有的,也碰到过.

我现在用的就是两条规则,只是想精简到一条,呵呵.

不过用网页净化器ADK可以做到一条规则:
<img((?![^>]*alt="[^"]+")[^>]*)>替换成<img alt=&#9775; \1>
思路是在<img *>中,凡是没有(alt="至少一个字符"),则符合条件进行替换.

Proxomitron的规则我怎么试都不行,(^) $av() alt="?++{1,*}" 三个之间搞来搞去就是不行。
觉得这个软件的元字符太少了

Re: 求助:给图片添加alt值

Posted: Oct 21 2011, 18:19
by 怒放1
Firefox 的脚本我也下载了一个,不过有时候不灵光,http://userscripts.org/users/sadeghi85
就和一个豆沙绿的背景色的脚本一样,时灵时不灵。所以才用替换。

下面是一个背景色的替换。所有背景色为白色的统统去掉。

Code: Select all

[Patterns]
Name = "background-color new"
Active = TRUE
Limit = 256
Match = "background(-color|)(\s|):[^;}]++{0,*}(#ffffff|white|#fff(^(^[^0-9a-f])))*([;}])\1"
Replace = "background:none\1"

Re: 求助:给图片添加alt值

Posted: Oct 21 2011, 19:17
by cre
很简单嘛 ^ ^
写了个清爽的Demo.

Code: Select all

[Patterns]
Name = "<img (alt" "|^alt) Demo [Core] [11.10.21]"
Active = TRUE
Bounds = "$NEST(<IMG,/ >)"
Limit = 256
Match = "(<img src=$AV(*))\#*/>&(^*alt=(^$AV( ))*)"
Replace = "\@ alt="@" />"
替你考虑了所有情况了,不好用的就不贴了.

Re: 求助:给图片添加alt值

Posted: Oct 21 2011, 20:37
by 怒放1
谢谢!!果然好用

Code: Select all

[Patterns]
Name = "<img (alt" "|^alt) Demo [Core] [11.10.21]"
Active = TRUE
Bounds = "$NEST(<IMG,>)"
Limit = 256
Match = "<img(* src=$AV(*))\#*>&(^*alt=(^$AV( ))*)"
Replace = "<img alt="img" \@ >"
测试对象如下:

Code: Select all

<img src=ccc alt="123" onload=bbb />
<img alt="123"  src=ccc    onload=bbb />

<img alt="" src=ccc  onload=bbb />
<img src=ccc  onload=bbb alt="" />
<img src=ccc    onload=bbb />img src=ccc    onload=bbb /