ページの作成や編集にはユーザ登録が必要です。
リンクの別名にイメージのURLが指定されたときはイメージを表示する
- 投稿者: 紅猫
- カテゴリ: 新規
- 優先度: 普通
- 状態: 提案
- 日時: 2004年01月04日 07時02分48秒
内容
[イメージのURL|リンク先]
URLでイメージが指定されたときには、イメージを表示してリンクを作ります。バナーに利用しやすいかと思います。
399,404d398 < my $label; < if($name =~ /(http|https):[a-zA-Z0-9\.,%~^_+\-%\/\?\(\)!\$&=:;\*#\@']*.(gif|jpg|jpeg|bmp|png)$/){ < $label = "<img src=\"".$name."\">"; < }else{ < $label = Util::escapeHTML($name); < } 406c400 < return "<a href =\"$url\" target=\"_blank\">".$label."</ a>"; --- > return "<a href =\"$url\" target=\"_blank\">".Util::escapeHTML($name)."</ a>"; 408c402 < return "<a href =\"$url\">".$label."</ a>"; --- > return "<a href =\"$url\">".Util::escapeHTML($name)."</ a>";
コメント
- 対象ファイルはlib/Wiki/HTMLParser.pm ですね。 リュナン(2004年01月17日 23時01分53秒)
- こんなん探してwikiにたどりついたわけです。ありがたい - Q系 (2004年03月02日 20時13分03秒)
- BORDER=0 をimgタグにつけるといいかも。 - Q系 (2004年03月12日 20時18分35秒)
- このパッチを使わせてもらおうと試してみたんですが、文中に http://google.co.jp/ とした場合の出力が <a href ="http://google.co.jp/"></ a> となってしまい、リンクされたアドレスが消えるようになってしまいました。パッチの当て方がまずいのでしょうか? - む。 (2004年03月16日 12時02分14秒)
- あ、$name = $url; の後に my $label; のブロックか?(^^; - む。 (2004年03月16日 12時06分17秒)
(lib/Wiki/HTMLParser.pm) #============================================================================== # URLアンカ #============================================================================== sub url_anchor { my $self = shift; my $url = shift; my $name = shift; if($name eq ""){ $name = $url; } + my $label; + if($name =~ /(http|https):[a-zA-Z0-9\.,%~^_+\-%\/\?\(\)!\$&=:;\*#\@']*.(gif|jpg|jpeg|bmp|png)$/){ + $label = "<img src=\"".$name."\">"; + }else{ + $label = Util::escapeHTML($name); + } if($url eq $name && $url=~/\.(gif|jpg|jpeg|bmp|png)$/i){ return "<img src=\"".$url."\">"; } else { if($self->{wiki}->config('open_new_window')==1){ - return "<a href =\"$url\" target=\"_blank\">".Util::escapeHTML($name)."</ a>"; + return "<a href =\"$url\" target=\"_blank\">".$label."</ a>"; } else { - return "<a href =\"$url\">".Util::escapeHTML($name)."</ a>"; + return "<a href =\"$url\">".$label."</ a>"; } } }
- お騒がせしましたm(_ _)m - む。 (2004年03月16日 12時09分35秒)
- 添付ファイル名が指定されたらそれを表示するように改良してみました。 - 名無しさん (2004年05月31日 07時58分27秒)
#============================================================================== # URLアンカ #============================================================================== sub url_anchor { my $self = shift; my $url = shift; my $name = shift; my $wiki = $self->{wiki}; if($name eq ""){ $name = $url; } if($url eq $name && $url=~/\.(gif|jpg|jpeg|bmp|png)$/i){ return "<img src=\"".$url."\" border=0>"; } my $label = ""; if($name =~/\.(gif|jpg|jpeg|bmp|png)$/i){ if($name =~ /(http|https):[a-zA-Z0-9\.,%~^_+\-%\/\?\(\)!\$&=:;\*#\@']*.(gif|jpg|jpeg|bmp|png)$/){ # ラベルがURLの場合 $label = "<img src=\"".$name."\" border=0>"; } else { # ラベルが添付ファイル名の場合 my $dir = $wiki->config('attach_dir'); my $xname=&Util::url_encode($name); my $page; foreach $page ($wiki->get_CGI()->param("page"),"Header","Footer","Menu") { my $xpage=&Util::url_encode($page); my $file = $dir."/".$xpage.".".$xname; if(-e $file){ $label= "<img src=\"".$wiki->config('script_name')."?action=ATTACH&". "page=".$xpage."&file=".$xname."\" border=0>"; last; } } } } # 単に文字列の場合 if ($label eq "") { $label = Util::escapeHTML($name); } if($wiki->config('open_new_window')==1){ return "<a href =\"$url\" target=\"_blank\">".$label."</ a>"; } else { return "<a href =\"$url\">".$label."</ a>"; } }
拡張子大文字とborder=0に対応
- これをコピペすればいいわけですね。沢
(lib/Wiki/HTMLParser.pm)
#============================================================================== # URLアンカ #============================================================================== sub url_anchor { my $self = shift; my $url = shift; my $name = shift; if($name eq ""){ $name = $url; } my $label; if($name =~ /(http|https):[a-zA-Z0-9\.,%~^_+\-%\/\?\(\)!\$&=:;\*#\@']*.(GIF|JPG|JPEG|BMP|PNG|gif|jpg|jpeg|bmp|png)$/){ $label = "<img src=\"".$name."\" BORDER=0 >"; }else{ $label = Util::escapeHTML($name); } if($url eq $name && $url=~/\.(GIF|JPG|JPEG|BMP|PNG|gif|jpg|jpeg|bmp|png)$/i){ return "<img src=\"".$url."\" BORDER=0 >"; } else { if($self->{wiki}->config('open_new_window')==1){ return "<a href =\"$url\" target=\"_blank\">".$label."</ a>"; } else { return "<a href =\"$url\">".$label."</ a>"; } } }
最終更新時間:2007年10月01日 17時04分17秒