PHP

[PHP] 텍스트로 처리된 URL을 링크로 자동 변환하기

PHP를 이용하여 링크로 처리되지 않은 문자열을 자동으로 하이퍼 링크 변환할 수 있도록 처리할 수 있습니다.

PHP URL 자동 링크 변환하기

사용법 : url_auto_link(string, openWithPopup);

‘https://jootc.com’ 라는 텍스트를 링크로 자동 변환하기 위해서는 (새 창으로 열기) 아래 방법으로 사용할 수 있습니다.

<?= url_auto_link('https://jootc.com', true) ?>
function url_auto_link($str = '', $popup = false) {
    if (empty($str)) return false;
    $target = $popup ? 'target="_blank"' : '';
    $str = str_replace(array("&lt;", "&gt;", "&amp;", "&quot;", "&nbsp;", "&#039;"),array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t", "'"),$str);
    $str = preg_replace("/([^(href=\"?'?)|(src=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1<a href=\"\\2\" {$target}>\\2</A>",$str);
    $str = preg_replace("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i","\\1<a href=\"http://\\2\" {$target}>\\2</A>",$str);
    $str = preg_replace("/[0-9a-z_-]+@[a-z0-9._-]{4,}/i","<a href=\"mailto:\\0\">\\0</a>",$str);
    $str = str_replace(array("\t_nbsp_\t", "\t_lt_\t", "\t_gt_\t", "'"),array("&nbsp;", "&lt;", "&gt;", "&#039;"),$str);
    return $str;
}

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

View Comments

Recent Posts

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

4주 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

1개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

1개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

1개월 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

6개월 ago

에어팟 프로 2 케이스 스피커 소리를 완전히 끄는 방법

애플 에어팟 프로 2 (AirPods Pro 2) 케이스에는 스피커가 내장되어 있습니다. 그런데 간혹 아무 것도…

9개월 ago