$등 특정한 특수문자가 포함된 주소의 링크가 짧릴 때 정보
$등 특정한 특수문자가 포함된 주소의 링크가 짧릴 때본문
lib/connect.lib.php 파일의 164라인을 아래처럼 수정해 주시면 됩니다.
원하시는 특수문자를 추가하세요.
참고로 @문자의 경우 메일주소형식에 분류되어 링크가 짧립니다.
내공부족으로 그것까진.. ㅡ.ㅡ*
수정전
// 속도 향상 031011
$str = preg_replace("/", ?\t_lt_\t?, $str); $str='preg_replace("/'>/", "\t_gt_\t", $str);
$str = preg_replace("/&/", "&", $str);
$str = preg_replace("/"/", "\"", $str);
$str = preg_replace("/ /", "\t_nbsp_\t", $str);
$str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1\\2", $str);
$str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:=_\?\/~\+%@;\-\|\,]+)/i", "\\1\\2", $str);
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
$str = preg_replace("/\t_nbsp_\t/", " " , $str);
$str = preg_replace("/\t_lt_\t/", "<", $str);
$str = preg_replace("/\t_gt_\t/", ">", $str);
$str = preg_replace("/", ?\t_lt_\t?, $str); $str='preg_replace("/'>/", "\t_gt_\t", $str);
$str = preg_replace("/&/", "&", $str);
$str = preg_replace("/"/", "\"", $str);
$str = preg_replace("/ /", "\t_nbsp_\t", $str);
$str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1\\2", $str);
$str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:=_\?\/~\+%@;\-\|\,]+)/i", "\\1\\2", $str);
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
$str = preg_replace("/\t_nbsp_\t/", " " , $str);
$str = preg_replace("/\t_lt_\t/", "<", $str);
$str = preg_replace("/\t_gt_\t/", ">", $str);
수정후
// 속도 향상 031011
$str = preg_replace("/", ?\t_lt_\t?, $str); $str='preg_replace("/'>/", "\t_gt_\t", $str);
$str = preg_replace("/&/", "&", $str);
$str = preg_replace("/"/", "\"", $str);
$str = preg_replace("/ /", "\t_nbsp_\t", $str);
$str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1\\2", $str);
$str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:&()!$^*#=_\?\/~\+%@;\-\|\,]+)/i", "\\1\\2", $str);
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
$str = preg_replace("/\t_nbsp_\t/", " " , $str);
$str = preg_replace("/\t_lt_\t/", "<", $str);
$str = preg_replace("/\t_gt_\t/", ">", $str);
$str = preg_replace("/", ?\t_lt_\t?, $str); $str='preg_replace("/'>/", "\t_gt_\t", $str);
$str = preg_replace("/&/", "&", $str);
$str = preg_replace("/"/", "\"", $str);
$str = preg_replace("/ /", "\t_nbsp_\t", $str);
$str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1\\2", $str);
$str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:&()!$^*#=_\?\/~\+%@;\-\|\,]+)/i", "\\1\\2", $str);
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
$str = preg_replace("/\t_nbsp_\t/", " " , $str);
$str = preg_replace("/\t_lt_\t/", "<", $str);
$str = preg_replace("/\t_gt_\t/", ">", $str);
추천
0
0
댓글 8개

좋은정보 감사합니다.^^
골뱅이의 문제는 링크뿐 아니고 코멘트에서 txt로 작성한 글에도 문제가 있더군요.
이문제도 풀어야할 과제인듯 하므로 살펴봐 주시면 합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=13935#c_13938
골뱅이의 문제는 링크뿐 아니고 코멘트에서 txt로 작성한 글에도 문제가 있더군요.
이문제도 풀어야할 과제인듯 하므로 살펴봐 주시면 합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=13935#c_13938
메일 주소 형식이 되어(mailto:) 발생하는 문제로 165라인을 삭제하면 모든 문제는 해결되나
그러면 메일주소의 경우 링크가 되지 않습니다.
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
그러면 메일주소의 경우 링크가 되지 않습니다.
$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
165라인을 아래처럼 수정하니 헐랭이님께서 말씀하신 문제는 해결되었습니다.^^&
$str = preg_replace("/(([a-z0-9_])+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
참고로 요즘 한글메일을 사용하시는 분이 계신데 링크(mailto:)가 안 됩니다.^^&
$str = preg_replace("/(([a-z0-9_])+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
참고로 요즘 한글메일을 사용하시는 분이 계신데 링크(mailto:)가 안 됩니다.^^&

여기에서 골뱅이를 넣어면서 테스트 해보니
.@.a <- 이렇게 되면 링크가 걸리네요.
.@.a <- 이렇게 되면 링크가 걸리네요.
$str = preg_replace("/(([a-z0-9_])+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);
165라인을 위와 같이 수정하면 영문자 또는 숫자만 인식합니다.
165라인을 위와 같이 수정하면 영문자 또는 숫자만 인식합니다.

감사합니다.^^
가을님을 귀챤게 해드릴게 없나 열심히 찾는중입니다....히힛
가을님을 귀챤게 해드릴게 없나 열심히 찾는중입니다....히힛
아직까지 내공이 상당히 부족합니다.
제발 참아주십시오~^^&
제발 참아주십시오~^^&
위에 /lib/connect.lib.php는 오타네요? /lib/common.lib.php 로 수정하세요.