본문 내용에서 자동 링크 걸리게
자동링크 애드온 등을 사용하지 않고 게시판 스킨에서 다음과 같이 바꾸시면
간편하게 링크, 새창을 적용하실 수 있습니다. 모바일도 바꿔주셔야 합니다. (쓰시는 모든 게시판 스킨..)
view_document.html (본문파일)
{$oDocument->getContent(true);}
아래로 교체..
{@ $autolink = $oDocument->getContent(true);}
{@ $pattern = "/([^\"\'\=])(mms|Mms|MMS|http|Http|HTTP|https|Https|HTTPS|ftp|Ftp|FTP|telnet|Telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/";}
{$autolink = preg_replace($pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$autolink);}
댓글부분
comment.html
{$comment->getContent(false);} 또는 {$comment->getContent(true);}
아래로 교체
{@ $autolink = $comment->getContent(false);}
{@ $pattern = "/([^\"\'\=])(mms|Mms|MMS|http|Http|HTTP|https|Https|HTTPS|ftp|Ftp|FTP|telnet|Telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/";}
{$autolink = preg_replace($pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$autolink);}
이렇게 하시면 애드온 없이도 자동으로 링크가 걸리고 새창으로 띄워 줍니다.
또한, ajax 처리시에도 링크처리를 할 수 있어 유용합니다.
--
출처 : https://xe1.xpressengine.com/tip/22707619
---
용도와 목적에 대한 이해는 본문이고요. 적용은 기진곰님 댓글을 참조해주세요
댓글 7
정규식 팁 1) http, Http, HTTP처럼 대소문자만 다른 것은 그냥 하나로 합치고, 정규식 마지막에 i를 넣으면 대소문자 구분 없이 매칭됩니다. 이렇게 하면 정규식도 깔끔해지고, hTtp처럼 목록에 없는 것도 모두 처리할 수 있지요.
정규식 팁 2) http, https처럼 한 글자만 다른 경우, 다른 글자 뒤에 ?를 붙여주면 됩니다.
{@ $pattern = "/([^\"\'\=])(mms|https?|ftp|telnet)\:\/\/(.[^ \n\<\"\']+)/i";}
훨씬 짧죠? ^^
{@ $pattern = "/([^\"\'\=])(mms|https?|ftp|telnet)\:\/\/(.[^ \n\<\"\']+)/i";}
{$autolink = preg_replace($pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$autolink);}
조금 응용(?) 해서 제목에도 걸릴수 있게 변경 하였습니다. 한줄 메모 게시판에서 사용 가능 합니다.
게시글 및 댓글 신고에드온에 사용하려고 하는데요 메세지 스킨에서는 해당 문구를 찾지를 못하겠고 신고 에드온에서는 이런 문구는 보이는데 어떻게 적용해보는게 좋을까요?
$oDocumentController = &getController('document');
사용하는 에드온은 http://blog.showjean.com/117 입니다.
커뮤니케이션 스킨 쪽지 열람 파일에 적용하세요.
라이믹스 기본스킨은 https://github.com/rhymix/rhymix/blob/master/modules/communication/skins/default/messages.html