-
Notifications
You must be signed in to change notification settings - Fork 13
リンクプラグイン
http://akid.s17.xrea.com/p2puki/index.phtml?%A5%EA%A5%F3%A5%AF%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3 を基に作成
レス内のリンクを任意のHTMLに置き換える機能です。 標準では「板・スレッドのリンク」「ImageCache2」「YouTubeプレビュー」「外部リンク」などが組み込まれています。 リンクプラグインを追加することで、例えば以下のようなことができるようになります。
- AmazonのURL→商品名と画像
- DailymotionのURL→埋め込み動画
- TwitterのURL→ツイート
- p2が内部リンクする板・スレッドのリンク
- リンクプラグイン(上から順に)
- その他内蔵リンクプラグイン(ImageCache2など)
- 外部リンク
いずれかのリンクプラグインが適用されると、以降のリンクプラグインはスルーすれます。~ つまり、以下のような事が言えます。
- p2が内部リンクする板・スレッドのリンクにリンクプラグインは働かない
- リンクプラグインが働いたリンクに置換画像URLは働かない
- URLが複数のリンクプラグインにマッチする場合でも、一番上にあるリンクプラグインしか適用されない。
ブラウザ側でSSLから非SSLのURLのアクティブコンテンツがブロックされているのが原因です。 Firefoxの場合、security.mixed_content.block_active_contentをtrueにすれば解除できます。
v150418.1111 以降はrep2に登録された板を内部リンク扱いにするように変更されています。
Match
^http://(.+)/test/read\.cgi/(.+)/(\d+)(?:/(.*))$
Replace(画像P付き)
<a href="read.php?host=\1&bbs=\2&key=\3&ls=\4" onmouseover="showHtmlPopUp('read.php?host=\1&bbs=\2&key=\3&ls=\4;one=true',event,0.2)" onmouseout="offHtmlPopUp()"><img src="img/pop.png" alt="" align="top" border="0" height="12" hspace="2" vspace="0" width="12"></a><a href="read.php?host=\1&bbs=\2&key=\3&ls=\4">$str</a>
Replace(文字p付き)
<a href="read.php?host=\1&bbs=\2&key=\3&ls=\4" onmouseover="showHtmlPopUp('read.php?host=\1&bbs=\2&key=\3&ls=\4;one=true',event,0.2)" onmouseout="offHtmlPopUp()">(p)</a><a href="read.php?host=\1&bbs=\2&key=\3&ls=\4">$str</a>
Replace(pなし)
<a href="read.php?host=\1&bbs=\2&key=\3&ls=\4">$str</a>
Match
^https?://(?:www\.)?amazon\.(?:co\.)jp/(?:gp/product|(?:.*?/)?dp)/(\w+).*$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe src="//rcm-fe.amazon-adsystem.com/e/cm?t=1&o=9&p=8&l=as1&asins=\1<1=_blank&f=ifr" style="width:120px;height:240px;" scrolling="no"></iframe>
Match
^http://(?:dai.ly|www\.dailymotion\.com/video)/([\w^_]+).*$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe frameborder="0" width="480" height="270" src="//www.dailymotion.com/embed/video/\1" allowfullscreen></iframe>
Match
^https://instagram\.com/p/([\w^_]+).*$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe src="http://instagram.com/p/\1/embed" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0;width:320px;height:400px" scrolling="no"></iframe>
Match
^http://pastebin\.com/(\w+)$
Replace
<a href="$ime_url" target="_blank">$str</a><iframe src="http://pastebin.com/embed_iframe.php?i=\1" style="border:none;width:100%"></iframe>
Match
^https?://(?:www\.)?pastebin\.ca/(\d+)$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe src="//pastebin.ca/embed.php/\1.html" style="border:none;width:100%"></iframe>
非SSLで使うとリファラが作者に漏れるので、リファラ漏れ対策をすること。
Match
^http://(?:www\.)?pixiv\.net/member_illust.php\?.*illust_id=(\d+).*$
Replace
<iframe src="http://embed.pixiv.net/code.php?id=\1_0" width="380" height="168" style="background:transparent" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
レスポップアップで副作用あり。
Match
^https?://(?:mobile\.)?twitter\.com/(.+?/status/.+)$
Replace
<a href="$ime_url" target="_blank">$str</a><br><blockquote class="twitter-tweet" style="width:250px;height:250px"><a href="https://twitter.com/\1"></a></blockquote><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
Match
^https?://vine\.co/v/([\w^_]+).*$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe src="https://vine.co/v/\1/embed/simple" width="320" height="320" frameborder="0"></iframe>
Match
https?://(?:(?:www|jp)\.)?(?:m\.)xhamster\.com/movies/(\d+)/.+\.html$
Repalce
<a href="$ime_url" target="_blank">$str</a><br><iframe width="510" height="400" src="//xhamster.com/xembed.php?video=\1" frameborder="0" scrolling="no"></iframe>
Match
`^http://(?:www|jp).xvideos.com/video(\d+)/.*$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe src="http://flashservice.xvideos.com/embedframe/\1" frameborder=0 width=510 height=400 scrolling=no></iframe>
ビルトインよりもURLパターンの幅が広い。
Match
^(?:https?://(?:www\.|m\.|jp\.)?youtube\.(?:com|jp)/(?:watch\?(?:.*&)?(?:v|video_id)=|v/)|(?:https?://youtu\.be/|https://www\.youtube-nocookie\.com/v/))([\w\-_]+)(?:.*)?$
Replace
<a href="$ime_url" target="_blank">$str</a><br><iframe width="640" height="360" src="//www.youtube.com/embed/\1" frameborder="0" allowfullscreen></iframe>