有谁知道一个脚本,该脚本可以选择对URL的所有文本引用,并自动将其替换为指向这些位置的锚标记?For example:http://www.google.com would automatically turn into<a href="http://www.google.com">http://www.google.com</a>注意:我想要这个是因为我不想浏览所有内容,并用锚标记将它们包装起来。
3 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
我建议您在呈现给浏览器之前在静态页面上执行此操作,否则您会将转换计算的负担推给可怜的访问者。:)这是在Ruby中的方法(从stdin读取,写入stdout):
while line = gets
puts line.gsub( /(^|[^"'])(http\S+)/, "\\1<a href='\\2'>\\2</a>" )
end
显然,您需要考虑如何使它像您期望的那样健壮。以上要求所有URL以http开头,并且将检查是否不转换带引号的URL(即可能已经在<a href="...">内的URL)。它不会捕获ftp://,mailto:。它将很高兴在诸如<script>正文之类的地方转换材质,您可能不想发生这种情况。
最令人满意的解决方案实际上是与编辑器手动进行转换,以便您可以接受并批准所有替换。 好的编辑器可以让您使用组引用(也称为反向引用)进行正则表达式替换,因此这没什么大不了的。
添加回答
举报
0/150
提交
取消