<?
#######################################################################
# SearchWordMark.inc : 검색어 마크 #
# author : Jeffrey Oh #
# lastUpdate : 2020-01-10 #
#######################################################################
class SWMark {
var $frontStr; // 문장 처음
var $midStr; // 문장 중간
var $tailStr; // 문장 끝
function mark($originWord, $findWord, $sec=false) {
if (mb_strpos($originWord, $findWord) > 0) {
$this->frontStr = mb_substr($originWord, 0, mb_strpos($originWord, $findWord)); // 검색어 앞
$this->midStr = mb_substr($originWord, mb_strpos($originWord, $findWord), mb_strlen($findWord)); // 검색어
$this->tailStr = mb_substr($originWord, mb_strpos($originWord, $findWord) + mb_strlen($findWord)); // 검색어 뒤
// 검색어 mark 표시
if (!$sec) {
return $this->frontStr."<mark style='font-weight: bold;'>".$this->midStr."</mark>".$this->tailStr;
} else {
return $this->frontStr."<mark style='color: #000; background-color: #ff857c; font-weight: bold;'>".$this->midStr."</mark>".$this->tailStr;
}
} else {
$this->midStr = mb_substr($originWord, mb_strpos($originWord, $findWord), mb_strlen($findWord)); // 검색어
$this->tailStr = mb_substr($originWord, mb_strpos($originWord, $findWord) + mb_strlen($findWord)); // 검색어 뒤
// 검색어 mark 표시
if (!$sec) {
return "<mark style='font-weight: bold;'>".$this->midStr."</mark>".$this->tailStr;
} else {
return "<mark style='color: #000; background-color: #ff857c; font-weight: bold;'>".$this->midStr."</mark>".$this->tailStr;
}
}
}
}
?>
사용방법
$title = "Hello World!!!";
$swm = new SWMark();
$title = $swm->mark($title, "Hello");
echo $title; // 첫 번째 검색어
$title = $swm->mark($title, "World", true);
echo $title; // 두 번째 검색어 사용할 경우 가능
'Backend > PHP' 카테고리의 다른 글
PHP Debug Print (0) | 2020.06.26 |
---|---|
아스키코드 제어문자 삭제 (0) | 2020.05.22 |
html 태그 제거 정규식 (0) | 2020.05.07 |
post_max_size & upload_max_filesize (0) | 2020.04.22 |
Cookie Array Function (0) | 2020.03.12 |