소스 파일 : /base_utils/common_utils.php (2020-04-26)     소스 설명 : (공통) 공통으로 쓰일 수 있는 PHP 함수들 모음
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
<?php // (2020.4.26, 차재복, Cha Jae Bok, cjbword@gmailcom)
//** 공통으로 쓰일 수 있는 사용자 정의 함수들 모음 **

#  내용 중에 `[ ... ]` 등 특정 쌍(pair) delimiter 사이 내부 텍스트를 `없애기` 또는 `교체하기` 또는 `감쌈(배열[2])`
function pair_delimiter($rest,$left,$right,$replace='') {
		$right_pos=0;
		while ( ($left_pos=strpos($rest,$left,$right_pos)) and ($right_pos=strpos($rest,$right,$left_pos)) ) {

			$left_str = substr($rest,0,$left_pos);
			$right_str = substr($rest,$right_pos+strlen($right));
			$middle_str = substr($rest,$left_pos,$right_pos-$left_pos+strlen($right));

			if (empty($replace)) { // 제거
				$replaced_str = '';
			} else if (!empty($replace) and !is_array($replace)) { // 교체
				$replaced_str = $replace;
			} else if (is_array($replace) and count($replace)==2) { // 감쌈
				$replaced_str = $replace[0].$middle_str.$replace[1]; 
			} else {
				return $rest;
			} 

			$rest = $left_str . $replaced_str . $right_str;
			$right_pos = $left_pos + strlen($replaced_str);
		}
		return $rest;
}

# 용어해설 첫부분 요약 추출
function synopsis_extract($str) {
	$str = mb_substr($str,3,200,'utf-8'); // 200자 제한
	$erase_arr = ["\r\n","\r","\n","'",'"',">","  "]; // 불필요 문자들
	$str = str_replace($erase_arr," ",$str); // 불필요 문자들 제거 (공백 교체)
	$str = pair_delimiter($str,"<a ","</a>"); // a 태그 제거
	return $str;
}

PHP 키워드 : array, count, empty, function, is_array, mb_substr, return, str_replace, strlen, strpos, substr

Copyrightⓒ 차재복 (Cha Jae Bok)     「 소액후원 」 [ 최근편집 : 스피커(9월24일)  연결 리스트(9월24일)  선형 리스트(9월24일)  리스트(9월24일)  결상식(9월23일)  . . . ]

   소스 이력    소스 폴더    소스 언어