テキスト内のURLを、アンカーリンクとIMGタグに置換するサービスをリリースしました。
なお、ttpで始まるプロトコルは、httpに自動修正します。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #!/usr/bin/env python # -*- coding: utf-8 -*- from google.appengine.ext import webapp from google.appengine.ext.webapp import util import re,cgi class MainHandler(webapp.RequestHandler): def post(self): self.get() def get(self): raw = encoded = "" if self.request.get("encode"): encoded = cgi.escape(linkURLs(imgTags(ttp2http(self.request.get("raw"))))) raw = cgi.escape(self.request.get("raw")) self.response.out.write(u""" <html> <head><title>URL Linker</title></head> <body> <h1>URL Linker</h1> 左側のテキストエリアにURLを含むテキストを入力して変換ボタンをクリックしてください。 URL部分がリンクに変換されたテキストが右側のテキストエリアに表示されます。 <form action="/" method="post"><input type="hidden" name="phpMyAdmin" value="cfc2644bd9c947213a0141747c2608b0" /> <textarea name="raw" style="float:left;width:450px;height:450px">%s</textarea> <div style="float:left;margin-top:70px"> <input name="encode" type="submit" value=" > 変換 > "><br> </div> <textarea name="encoded" style="float:left;width:450px;height:450px">%s</textarea> </form><br clear="all"> Developed by <a href="http://php6.jp/python">python練習帳</a> </body> </html> """ % (raw, encoded)) def ttp2http(str): return re.compile(r'([^"]|^)h?ttp(://)').sub(r'\1http\2', str) def linkURLs(str): return re.compile(r'([^"]|^)(https?|ftp)(://[\w:;/.?%#&=+-]+)').sub(r'\1<a href="\2\3?phpMyAdmin=cfc2644bd9c947213a0141747c2608b0" target="_blank">\2\3</a>', str) def imgTags(str): return re.compile(r'([^"]|^)(https?)(://[\w:;/.?%#&=+-]+\.(jpg|jpeg|png|gif|JPG|JPEG|PNG|GIF))').sub(r'\1<img src="\2\3"/>', str) def main(): application = webapp.WSGIApplication([('/', MainHandler)], debug=True) util.run_wsgi_app(application) if __name__ == '__main__': main() |