INIDOG
hyperlink

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

hyperlink

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

 

PHP URL 자동 링크 변환하기


사용법 : url_auto_link(문자열, 팝업으로 링크 열기 여부)

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

<?= url_auto_link(‘https://joojy.net’, 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;
}

 

이 글에 대해 어떻게 생각하시나요?
유용한 포스트였나요? 여러분의 의견을 하단의 Vote와 댓글로 남겨주세요 🙂
유용합니다!
아쉽습니다.

여러분의 의견을 댓글로 남겨주세요.

avatar
error: