그누보드 자동링크, url link 자동 인식(autoLink) 게시판에 적용하는 방법?
페이지 정보
본문
그누보드 게시판에 링크를 남기면 대부분 자동으로 링크가 생성되는데 안되는 경우 아래와 같은 방법으로 해결 하세요.
1. 특정한 곳에 적용하고 싶을때
실제로 url.kr 게시판에 아래와 같이 적용해 봤습니다.
저는 여분필드 7을 이용하는 것이라 wr_7 인데 글 컨텐츠에 적용할땐 wr_7 대신 wr_content 입력 하면 됩니다.
* 3번 방법은 wr_content 에 적용하는 것이라 저 처럼 wr_content 아닌 곳에 적용할때 유용한 것 같습니다.
물론 3번 수정 파일에 wr_7 도 추가 하면 되겠지만 좀 오바인것 같아서...전 특별한 곳에만 적용할때 이방법이 더 적합하다고 생각합니다.
[code]
<div class="tip">
<ul>
<li>
<?php
$view['wr_7'] = preg_replace('/https?:\/\/[\w\-\.!~#?&=+\*'"(),\/]+/','<a href="$0">$0</a>', $view['wr_7']);
echo get_view_thumbnail(($view['wr_7'])); // 글내용 출력
?>
</li>
</ul>
</div>
[/code]
2. 게시판 스킨 파일(view.skin.php) 수정
출처: https://sir.kr/g5_tip/18969
view.skin.php 의 가장 하단부에 아래의 스크립트를 입력합니다.
[code]
<script>
function autoLink() {
for (beforeLink of arguments[0].getElementsByTagName("a")) beforeLink.innerHTML = beforeLink.innerHTML.replaceAll('htt', 'htt*');
keepProtocol = arguments[0].innerHTML.replaceAll('href="htt', 'href="htt*').replaceAll('src="htt', 'src="htt*').replaceAll('title="htt', 'title="htt*').replaceAll('background="htt', 'background="htt*').replaceAll('url(htt', 'url(htt*').replaceAll("url('htt", "url('htt*").replaceAll('alt="htt', 'alt="htt*');
arguments[0].innerHTML = keepProtocol.replace(new RegExp("(http|https)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)", "gi"), "<a href='$1://$2' target='_blank'>$1://$2</a>").replaceAll('href="htt*', 'href="htt').replaceAll('src="htt*', 'src="htt').replaceAll('title="htt*', 'title="htt').replaceAll('background="htt*', 'background="htt').replaceAll('url(htt*', 'url(htt').replaceAll("url('htt*", "url('htt").replaceAll('alt="htt*', 'alt="htt');
for (afterLink of arguments[0].getElementsByTagName("a")) afterLink.innerHTML = afterLink.innerHTML.replaceAll('htt*', 'htt');
}
autoLink(bo_v_con);
</script>
[/code]
3. 그누보드 원본파일 수정
원본파일 수정이지만 가장 간단합니다. ^^
출처: https://sir.kr/g5_tip/18969 의 댓글
수정파일: lib/common.lib.php
552 바로 밑에 $content = url_auto_link($content);
넣으시면 자동 링크됩니다.
[code]
if($filter)
$content = html_purifier($content);
$content = url_auto_link($content);
}
[/code]
- 이전글
- 다음글
댓글목록
등록된 댓글이 없습니다.