IT 이야기/IT Tech

[텍큐 플러그인]외부링크,내부링크 구분하여 링크표시

필넷 2009. 9. 17. 18:01
반응형

유용한 텍스트큐브 플러그인들


텍스트큐브 설치형을 사용하면서 유용하게 사용하고 있는 플러그인들이 있다.

기본 플러그인 이외에 DaumView, Footnote, TAG Relation, JP Entry Hits Plugin, Lightbox TT AZ, Lightbox 외부이미지 적용, 바깥고리표시, SyntaxHighlight 플러그인 등이다.

이들 중에서 Footnote와 바깥고리표시 플러그인은 도아님이 배포한 것이다. 이외에도 도아님의 블로그를 통해 텍스트큐브 설치형 초보자로서 많은 도움을 받고 있다. 이 글을 빌어 고마움 표시합니다. ^^*

바깥고리, 안고리를 구분하여 표시하는 방법


도아님의 플러그인 중에서 바깥고리표시 플러그인은 외부주소로 참조된 링크옆에 아이콘과 함께 외부링크를 새창으로 열지, 기존창에 열지를 선택할 수 있게 해주는 플러그인이다.

사용중에 문득 내부링크도 비슷한 방식으로 새창 또는 기존창으로 열수 있도록 선택할 수가 있다면 편할 것 같았다. 그래서 도아님의 바깥고리표시 플러그인을 살짝 고쳐봤다. 그리고 이미지는 무료아이콘 배포 사이트에서 골라봤다.

적용하면 위의 스냅샵처럼 안고리는 링크의 왼쪽에 아이콘이 보인다. 아이콘을 클릭하면 새창으로, 링크를 클릭하면 현재창으로 열리게 된다. 바깥고리는 기존 기능과 동일하다.

안고리도 바깥고리처럼 사용자에게 선택할 수 있는 옵션을 부여할까 생각했지만, 나의 필요에 의해 약간만 고쳐 사용하는 것이기에 필요한 기능만 고쳤다.

소스코드 보기


[code]"; $images=""; if(strpos($url,"footnote")) return $link; elseif(strstr("#",$url)) return $link; elseif(!preg_match('|^http://|is', $url)) {return $images." ".$link;} elseif(preg_match("|$burl|is", $url)) {return $images." ".$link;} elseif(preg_match("/]*>/is", $link)) return $link; else { if($newWindow==1) { if(!preg_match("|]*target=[^>]*>|is", $link)&&!preg_match("/$ext$/is", $url)) $link=preg_replace("/(^]*)>/is", "$1 target='_blank'>", $link); } if($newWindow==2) { $image="$image"; } return $link." ".$image; } } function DisplayExternalLink($target, $mother) { $pattern="/(]*href=['\"]*([^'\"]+)['\"]*[^>]*>(.*?)<\/a>)/ise"; $replace='ResultLink("$1", "$2")'; $target=preg_replace($pattern, $replace, $target); $target=str_replace("\'", "'", $target); return $target; } ?>[/code]
반응형