【发布时间】:2013-01-30 15:30:33
【问题描述】:
我认为我在理解如何使用正则表达式和创建链接时遇到了太多麻烦......
我正在为虚拟宠物游戏编写 Greasemonkey 脚本,该脚本将为特定页面上列出的每个生物创建指向 wiki 的链接。问题是,新宠物一直被添加到页面中,所以我不能将链接硬编码到脚本中。我需要搜索生物名称,然后将其设为链接...
无需注册即可查看the target page。
来自目标页面的示例源代码:
<tr>
<td>Flizzard</td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
</tr>
<tr>
<td>Fluff</td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><img src="./images/icons/yes.png" /></td>
<td align="center"><a href="accomplishments.php?family=Fluff&acc=exalted"><img src="./images/icons/no.png" border="0" /></a></td>
<td align="center"><a href="accomplishments.php?family=Fluff&acc=herd"><img src="./images/icons/no.png" border="0" /></a></td>
</tr>
.
.
“Flizzard”和“Fluff”将是我想要变成链接的内容......我找到了这个并开始研究它,它可能会起作用,只是它似乎没有说明从哪里开始比赛(无论如何,以某种对我来说有意义的方式),我不知道要输入什么(The-Identifier-That-Denotes-End-Of-Text-Of-Interest)
var html = document.body.innerHTML;
html = html.replace( /(http://wiki.unicreatures.com/index.php?title=)(.*?)(The-
Identifier-That-Denotes-End-Of-Text-Of-Interest)/g, $1<a href="path/to/$2">$2</a>$3
);
document.body.innerHTML = html;
.
也许有人可以尝试解释一下该正则表达式是如何工作的,以及什么会起作用(The-Identifier-That-Denotes-End-Of-Text-Of-Interest),因为我似乎没有看到任何标点符号或生物名称后的空格?
谢谢!
(请不要使用 jQuery 信息...javascript 足以让我的大脑立即陷入困境 LOL)
【问题讨论】:
标签: javascript hyperlink greasemonkey