호스팅
호스팅 정보
호스팅 토크
고민 상담
꿀팁 공유
최신 할인 소식
나우호스팅 공짜로 사용하기!
웹개발
라이브러리
그누보드
워드프레스
라이믹스
PHP Legacy
PHP 모던
자바스크립트
개발자 Q&A
깃허브 공유
코드 리뷰방
개발 챌린지
툴 추천소
VIP 자료실
제작의뢰
제작의뢰 안내
제작의뢰 요청
제작의뢰 문의
제작의뢰 이용후기
포트폴리오
Technical Skills & Expertise
Solution
IT트렌드
AI
트렌드 토론
미래 예측
기술 분석
창업&수익
내 창업 이야기
아이디어 브레인스토밍
창업 Q&A
도전일지
창업 꿀팁
실패토크
성공인터뷰
창업 툴박스
애드센스
나우CPC
커뮤니티
자유게시판
갤러리
유튜브
가입인사
공지사항
회원 등급 안내
추천 & 홍보 게시판
많이 검색된 키워드
#
2025
#
2026
검색조건
제목+내용
제목
내용
회원아이디
이름
and
or
로그인
회원가입
새글
최근 365일 이내 등록된 새글 이에요.
전체
글
댓글
그누보드:url_auto_link() URL 자동 링크 기능
[code]/* * 그누보드 원본 코드 분석 (LGPL 라이선스 적용) * 출처: https://github.com/gnuboard/gnuboard5 * 라이선스: GNU General Public License v2.0 또는 그 이후 버전 */ function url_auto_link($str) { global $g5; global $config; // 140326 유창화님 제안코드로 수정 // http://sir.kr/pg_lecture/461 // http://sir.kr/pg_lecture/463 $attr_nofollow = (function_exists('check_html_link_nofollow') && check_html_link_nofollow('url_auto_link')) ? ' rel="nofollow"' : ''; $str = str_replace(array("<", ">", "&", """, " ", "'"), array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t", "'"), $str); //$str = preg_replace("`(?:(?:(?:href|src)\s*=\s*(?:\"|'|)){0})((http|https|ftp|telnet|news|mms)://[^\"'\s()]+)`", "\\1", $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("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i", "\\1\\2", $str); $str = preg_replace("/[0-9a-z_-]+@[a-z0-9._-]{4,}/i", "\\0", $str); $str = str_replace(array("\t_nbsp_\t", "\t_lt_\t", "\t_gt_\t", "'"), array(" ", "<", ">", "'"), $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); // 100825 : () 추가 // 120315 : CHARSET 에 따라 링크시 글자 잘림 현상이 있어 수정 $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1\\2", $str); // 이메일 정규표현식 수정 061004 //$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str); $str = preg_replace("/([0-9a-z]([-_\.]?[0-9a-z])*@[0-9a-z]([-_\.]?[0-9a-z])*\.[a-z]{2,4})/i", "\\1", $str); $str = preg_replace("/\t_nbsp_\t/", " " , $str); $str = preg_replace("/\t_lt_\t/", "<", $str); $str = preg_replace("/\t_gt_\t/", ">", $str); */ return run_replace('url_auto_link', $str); }[/code] **URL 자동 링크 함수** GNUBoards는 PHP 기반의 게시판 소프트웨어로, 다양한 기능을 제공합니다. URL 자동 링크 함수는 사용자가 입력한 텍스트 내의 URL을 자동으로 링크로 변환하는 기능입니다. ### 함수 소스 코드 ```php function url_auto_link($str) { global $g5; global $config; // ... } ``` ### 함수 설명 * `global $g5;` : `$g5` 변수를 전역 변수로 선언합니다. * `global $config;` : `$config` 변수를 전역 변수로 선언합니다. * `$attr_nofollow` : `check_html_link_nofollow` 함수가 존재하고 `url_auto_link` 함수를 호출할 경우 `rel=\"nofollow\"` 속성을 추가합니다. ### 텍스트 처리 ```php $str = str_replace(array(\"<\", \">\", \"&\", \""\", \" \", \"'\"), array(\"\t_lt_\t\", \"\t_gt_\t\", \"&\", \"\\"\", \"\t_nbsp_\t\", \"'\"), $str); ``` * `str_replace` 함수를 사용하여 특수 문자를 HTML 엔티티로 변환합니다. ### URL 자동 링크 ```php $str = preg_replace(\"/([^(href=\\"?'?)|(src=\\"?'?)]|\\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+\%@;\\-\\|,\\(\\)]+)/i\", \"\\1\", $str); ``` * `preg_replace` 함수를 사용하여 URL을 자동으로 링크로 변환합니다. * `i` 플래그를 사용하여 대소문자를 구분하지 않습니다. * `{$config['cf_link_target']}` : `$config` 변수의 `cf_link_target` 키 값을 사용하여 링크를 열 때의 타겟을 지정합니다. ### 이메일 자동 링크 ```php $str = preg_replace(\"/([0-9a-z]([-_\\.]?[0-9a-z])*@[0-9a-z]([-_\\.]?[0-9a-z])*.[a-z]{2,4})/i\", \"\\1\", $str); ``` * `preg_replace` 함수를 사용하여 이메일 주소를 자동으로 링크로 변환합니다. * `i` 플래그를 사용하여 대소문자를 구분하지 않습니다. ### 반환 ```php return run_replace('url_auto_link', $str); ``` * `run_replace` 함수를 호출하여 `$str` 변수의 내용을 반환합니다. ### 예제 ```php $str = \"http://example.com\"; echo url_auto_link($str); // http://example.com $str = \"example@example.com\"; echo url_auto_link($str); // example@example.com ``` URL 자동 링크 함수를 사용하여 사용자가 입력한 텍스트 내의 URL을 자동으로 링크로 변환할 수 있습니다. 이 함수는 이메일 주소도 자동으로 링크로 변환합니다.
나우호스팅 2025-02-22
그누보드
그누보드:sql_connect() DB연결
[code]/* * 그누보드 원본 코드 분석 (LGPL 라이선스 적용) * 출처: https://github.com/gnuboard/gnuboard5 * 라이선스: GNU General Public License v2.0 또는 그 이후 버전*/function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB) { global $g5; if(function_exists('mysqli_connect') && G5_MYSQLI_USE) { mysqli_report(MYSQLI_REPORT_OFF); $link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.'); // 연결 오류 발생 시 스크립트 종료 if (mysqli_connect_errno()) { die('Connect Error: '.mysqli_connect_error()); } } else { if (!function_exists('mysql_connect')) { die('MySQL이 설치되지 않아 mysql_connect 함수를 사용할 수 없습니다.'); } $link = mysql_connect($host, $user, $pass) or die('MySQL Host, User, Password 정보에 오류가 있습니다.'); } return $link; }[/code] **그누보드의 SQL 연결 함수** 그누보드의 SQL 연결 함수는 `function sql_connect` 이며, MySQL 연결을 위한 함수입니다. 이 함수는 MySQLi 확장 모듈을 사용하거나 MySQL 확장 모듈을 사용할 수 있습니다. ### 함수의 파라미터 * `$host`: MySQL 서버의 호스트 이름 또는 IP 주소 * `$user`: MySQL 서버의 사용자 이름 * `$pass`: MySQL 서버의 비밀번호 * `$db`: 연결할 데이터베이스 이름 (기본값은 `G5_MYSQL_DB`) ### 함수의 동작 1. **MySQLi 확장 모듈을 사용할 수 있는지 확인** * `function_exists('mysqli_connect')` 함수를 사용하여 MySQLi 확장 모듈이 존재하는지 확인합니다. * `G5_MYSQLI_USE` 변수가 `true` 인 경우 MySQLi 확장 모듈을 사용합니다. 2. **MySQLi 연결** * `mysqli_connect` 함수를 사용하여 MySQL 서버에 연결합니다. * 연결이 실패한 경우 `die` 함수를 사용하여 오류 메시지를 출력하고 스크립트를 종료합니다. * 연결이 성공한 경우 `$link` 변수에 연결 객체를 저장합니다. 3. **MySQL 확장 모듈을 사용할 수 있는지 확인** * `function_exists('mysql_connect')` 함수를 사용하여 MySQL 확장 모듈이 존재하는지 확인합니다. * MySQL 확장 모듈을 사용할 수 없는 경우 오류 메시지를 출력하고 스크립트를 종료합니다. 4. **MySQL 연결** * `mysql_connect` 함수를 사용하여 MySQL 서버에 연결합니다. * 연결이 실패한 경우 `die` 함수를 사용하여 오류 메시지를 출력하고 스크립트를 종료합니다. * 연결이 성공한 경우 `$link` 변수에 연결 객체를 저장합니다. ### 함수의 반환 값 * `$link` 변수에 연결 객체를 저장한 후 반환합니다. ### 예제 ```php // MySQLi 확장 모듈을 사용할 수 있는지 확인 if (function_exists('mysqli_connect') && G5_MYSQLI_USE) { // MySQLi 연결 $link = sql_connect('localhost', 'root', 'password', 'g5'); echo \"MySQLi 연결 성공\n\"; } else { // MySQL 확장 모듈을 사용할 수 있는지 확인 if (function_exists('mysql_connect')) { // MySQL 연결 $link = sql_connect('localhost', 'root', 'password'); echo \"MySQL 연결 성공\n\"; } else { echo \"MySQL 확장 모듈이 설치되지 않았습니다.\n\"; } } ``` 이 예제에서는 `sql_connect` 함수를 사용하여 MySQL 서버에 연결합니다. MySQLi 확장 모듈을 사용할 수 있는지 확인하고, 사용할 수 있는 경우 MySQLi 연결을 시도합니다. MySQL 확장 모듈을 사용할 수 없는 경우 오류 메시지를 출력하고 스크립트를 종료합니다.
나우호스팅 2025-02-21
그누보드
첫글인가요 ㅋㅋ
[댓글]
안녕하세요^^ 응원 감사드립니다!! 포럼도 열심히 운영해보겠습니다!
나우호스팅 2025-02-19
자유게시판
첫글인가요 ㅋㅋ
포럼 페이지가 나왓다고 해서 놀러 왔습니다!아쉽게 글이 아직 없어서 한번써보아요!!나우호스팅 화이팅입니다.
쩌리맨 2025-02-19
자유게시판
처음
이전
21
페이지
22
페이지
23
페이지
24
페이지
25
페이지
열린
26
페이지
Guest
로그인
회원가입
호스팅
호스팅 정보
호스팅 토크
고민 상담
꿀팁 공유
최신 할인 소식
나우호스팅 공짜로 사용하기!
웹개발
라이브러리
그누보드
워드프레스
라이믹스
PHP Legacy
PHP 모던
자바스크립트
개발자 Q&A
깃허브 공유
코드 리뷰방
개발 챌린지
툴 추천소
VIP 자료실
제작의뢰
제작의뢰 안내
제작의뢰 요청
제작의뢰 문의
제작의뢰 이용후기
포트폴리오
Technical Skills & Expertise
Solution
IT트렌드
AI
트렌드 토론
미래 예측
기술 분석
창업&수익
내 창업 이야기
아이디어 브레인스토밍
창업 Q&A
도전일지
창업 꿀팁
실패토크
성공인터뷰
창업 툴박스
애드센스
나우CPC
커뮤니티
자유게시판
갤러리
유튜브
가입인사
공지사항
회원 등급 안내
추천 & 홍보 게시판