$등 특정한 특수문자가 포함된 주소의 링크가 짧릴 때 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

$등 특정한 특수문자가 포함된 주소의 링크가 짧릴 때 정보

$등 특정한 특수문자가 포함된 주소의 링크가 짧릴 때

본문

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);
 
 
 
수정후
 
 
// 속도 향상 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);
추천
0

댓글 8개

좋은정보 감사합니다.^^
골뱅이의 문제는 링크뿐 아니고 코멘트에서 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);
165라인을 아래처럼 수정하니 헐랭이님께서 말씀하신 문제는 해결되었습니다.^^&

$str = preg_replace("/(([a-z0-9_])+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str);

참고로 요즘 한글메일을 사용하시는 분이 계신데 링크(mailto:)가 안 됩니다.^^&
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT