求助:给图片添加alt值

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
怒放1
Posts: 5
Joined: Dec 08 2010, 10:51

求助:给图片添加alt值

Post 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 \>
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

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

Post by ddbb »

建议你还是用JAVASCRIPT来做.......

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

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

另外你的例子是不是给错了.......标签的结尾应该是 /> 吧 我记得.....而且网上多数img标签 是不写结尾的
怒放1
Posts: 5
Joined: Dec 08 2010, 10:51

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

Post by 怒放1 »

/> 这个情况也是有的,也碰到过.

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

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

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

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

Post 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"
User avatar
cre
Moderator
Posts: 91
Joined: May 26 2009, 00:34

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

Post 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="@" />"
替你考虑了所有情况了,不好用的就不贴了.
Attachments
2011-10-21_191522.png
2011-10-21_191522.png (3.5 KiB) Viewed 8529 times
怒放1
Posts: 5
Joined: Dec 08 2010, 10:51

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

Post 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 /
Post Reply