<html>
.
.
.
<div id="BCONTENT">
아무런 내용 http://www.test.com 링크 이동하기
</div>
.
,
,
</html>
<script type="text/javascript">
var re = /(?:(?=(?:http|https):)([a-zA-Z][-+.a-zA-Z\d]*):(?:((?:[-_.!~*'()a-zA-Z\d;?:@&=+$,]|%[a-fA-F\d]{2})(?:[-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*)|(?:(?:\/\/(?:(?:(?:((?:[-_.!~*'()a-zA-Z\d;:&=+$,]|%[a-fA-F\d]{2})*)@)?(?:((?:(?:(?:[a-zA-Z\d](?:[-a-zA-Z\d]*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:[-a-zA-Z\d]*[a-zA-Z\d])?)\.?|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[(?:(?:[a-fA-F\d]{1,4}:)*(?:[a-fA-F\d]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:(?:[a-fA-F\d]{1,4}:)*[a-fA-F\d]{1,4})?::(?:(?:[a-fA-F\d]{1,4}:)*(?:[a-fA-F\d]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))?)\]))(?::(\d*))?))?|((?:[-_.!~*'()a-zA-Z\d$,;:@&=+]|%[a-fA-F\d]{2})+))|(?!\/\/))(\/(?:[-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*(?:;(?:[-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*)*(?:\/(?:[-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*(?:;(?:[-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*)*)*)?)(?:\?((?:[-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*))?)(?:\#((?:[-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*))?)/img;
function makeHTML(textNode) {
var source = textNode.data;
return source.replace(re, function() {
var url = arguments[0];
var a = $('<a></a>').attr({ 'href': url, 'target': '_blank' }).text(url);
return url.match(/^https?:\/\/$/) ? url : $('<div></div>').append(a).html();
});
};
function eachText(node, callback) {
$.each(node.childNodes, function() {
if (this.nodeType != 8 && this.nodeName != 'A') {
this.nodeType != 1 ? callback(this) : eachText(this, callback);
}
});
};
function autolink(obj) {
return obj.each(function() {
var queue = [];
eachText(this, function(e) {
var html = makeHTML(e);
if (html != e.data) {
queue.push([e, makeHTML(e)]);
}
});
$.each(queue, function(i, x) {
$(x[0]).replaceWith(x[1]);
});
});
};
$(document).ready(function() {
autolink($("#BCONTENT"));
});
</script>
'모바일 & 앱' 카테고리의 다른 글
클래시오브클랜 대규모 업데이트 그리고 무료 보석 (0) | 2017.05.06 |
---|---|
리니지2 레볼루션 패치만 하면 버그 (0) | 2017.04.29 |
jQuery로 link클릭시 div 보이기/숨기기 그리고 a link tag의 attribute 읽고, 바꾸기 (0) | 2017.04.26 |
jQuery로 iframe submit (0) | 2017.04.19 |
QCY Q26 블루투스 이어폰 : 대륙의 실수 초미니 아이폰7 블루투스 이어폰 리뷰와 페어링 방법 (0) | 2017.04.11 |