カテゴリ | |
サマリ | インライン型 refでのテキストの回り込み |
バージョン | 1.4.5_1 |
投稿者 | こうすけ |
状態 | 完了 |
投稿日 | |
インライン型refでのテキストの回り込みについて、質問させていただきます。
ブロック型refでは、aroundの指定でテキストの回り込みができますが、インライン型では、それができません。何か理由があるのでしょうか。
できれば、インライン型refでも、aroundの指定でテキストの回り込みが可能になるといいな思っています。どうかよろしくお願いします。
- ちょっと考えてみましたが、そもそもインライン型のrefで回り込みを可能にして、良いことあるんでしたっけ・・・? (^^; -- teanan
- テキストを回り込ませて、その画像にリンクを張るときです。この場合、テキストを回り込ませようとすれば、ブロック型しかできなくて、画像へリンクを張ることができません。また、画像へリンクを優先させると、インラインしかできなくて、テキストの回り込みが出来なくなります -- こうすけ
- 質問箱/2308で既出のようです。早い話、「インライン要素に回り込み」といのはそもそもあり得ないので、ブロック型のrefでリンクを張れるようなオプションを提案するのが正しいアプローチでしょう。 --
- ↓ほとんどテストしてないのでバグってるかも知れません。 -- 0
// ref.inc.php,v 1.49 296行目から
} else if (preg_match('/^([0-9.]+)%$/', $arg, $matches) && $matches[1] > 0) {
$params['_%'] = $matches[1];
+} else if (preg_match('/^url=(.+)$/', $arg, $matches)) {
+ $url2 = is_url($matches[1]) ? $matches[1] :
+ get_script_uri() . '?' . rawurlencode($matches[1]);
+
} else {
$_title[] = $arg;
}
- “url=”をつけたものにリンクが張られます。“http”から始まれば*1外部リンク、そうでなければ内部リンクと判断させています。内部リンクの場合、ページの有無やページ名の妥当性のチェックなどはしていません。もし“url=”というタイトルをつけたい場合には諦めるか違う文字列で始めるなどして回避してください。“title=”でタイトルとするような仕様にすれば可能だとは思いますが、面倒なので (^^; -- 0
- 横幅の関係上、インデント(タブ)は削除しました。#ref(画像url,around,…,url=http://example.com)のようにして使ってください。 -- 0
- お疲れ様です。私も同じようなことを考えていました。別の方法として、自作プラグイン/div.inc.phpを使うと同じようなことが実現できるようです。 -- teanan
#div(start)
[[&ref(hogehoge.png,nolink);>http://pukiwiki.sourceforge.jp/]]
#div(end)
ここに回り込む文章を書く
#div(clear)
- なるほど、他のプラグインとの組み合わせですか。少しは既存プラグインを知っておかないと不要な修正をしたり二重に作ったりしてしまいそうですね (^^; -- 0
- 丁寧なお答えをいただき、本当にありがとうございました。早速、試したいと思います。また、ブロック型でのリンクが張れるようにブロック型の拡張を、できれば正式に対応してほしいと思います -- こうすけ
- インライン要素に対してfloatと、divで囲んでfloatとは、marginなどの影響が異なってくるのではないでしょうか。質問箱/2308の「XHTMLの仕様だとおもいます。 アライメントなどは Inline要素である imgに含まずブロック要素側に含むはずです」もよくわかりません。インライン要素にwidthやmarginやtext-alignなんかは無視されるべきですが、float指定はOKでは? -- masa3