Skip to content

リンクプラグイン

名無しさん@お腹いっぱい。 edited this page Apr 30, 2015 · 2 revisions

http://akid.s17.xrea.com/p2puki/index.phtml?%A5%EA%A5%F3%A5%AF%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3 を基に作成

FAQ

リンクプラグインとは?

レス内のリンクを任意のHTMLに置き換える機能です。 標準では「板・スレッドのリンク」「ImageCache2」「YouTubeプレビュー」「外部リンク」などが組み込まれています。 リンクプラグインを追加することで、例えば以下のようなことができるようになります。

  • AmazonのURL→商品名と画像
  • DailymotionのURL→埋め込み動画
  • TwitterのURL→ツイート

リンクプラグインはどういう順番で動く?

  • p2が内部リンクする板・スレッドのリンク
  • リンクプラグイン(上から順に)
  • その他内蔵リンクプラグイン(ImageCache2など)
  • 外部リンク

いずれかのリンクプラグインが適用されると、以降のリンクプラグインはスルーすれます。~ つまり、以下のような事が言えます。

  • p2が内部リンクする板・スレッドのリンクにリンクプラグインは働かない
  • リンクプラグインが働いたリンクに置換画像URLは働かない
  • URLが複数のリンクプラグインにマッチする場合でも、一番上にあるリンクプラグインしか適用されない。

SSLでp2を使っている時だけ一部のリンクプラグインが動作しない

ブラウザ側でSSLから非SSLのURLのアクティブコンテンツがブロックされているのが原因です。 Firefoxの場合、security.mixed_content.block_active_contentをtrueにすれば解除できます。

リンクプラグインリスト

2ちゃんねる互換掲示板のスレッド

v150418.1111 以降はrep2に登録された板を内部リンク扱いにするように変更されています。

Match

^http://(.+)/test/read\.cgi/(.+)/(\d+)(?:/(.*))$

Replace(画像P付き)

<a href="read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;ls=\4" onmouseover="showHtmlPopUp('read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;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&amp;bbs=\2&amp;key=\3&amp;ls=\4">$str</a>

Replace(文字p付き)

<a href="read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;ls=\4" onmouseover="showHtmlPopUp('read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;ls=\4;one=true',event,0.2)" onmouseout="offHtmlPopUp()">(p)</a><a href="read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;ls=\4">$str</a>

Replace(pなし)

<a href="read.php?host=\1&amp;bbs=\2&amp;key=\3&amp;ls=\4">$str</a>

Amazon.co.jp

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&lt1=_blank&f=ifr" style="width:120px;height:240px;" scrolling="no"></iframe>

Dailymotion (2015/04/30更新)

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>

Instgram

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>

Pastebin.com

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>

pastebin.ca

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>

pixiv

非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>

Twitter

レスポップアップで副作用あり。

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>

Vine

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>

xHamster

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>

XVIDEOS

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>

YouTube (2015/05/01更新)

ビルトインよりも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>