hMsg = Factory::loadUtil("Msg"); } public function replace(&$content, $type="TEXT") { // $type를 대문자로전환 $type = strtoupper($type); if($type=="TEXT") { $content = htmlspecialchars($content); $content = ereg_replace(" ", " ", $content); $content = ereg_replace("<", "<", $content); $content = ereg_replace(">", ">", $content); $content = str_replace("\r\n", "\n", $content); $content = str_replace(chr(13), "
", $content); $content = nl2br($content); $this->auto_link($content); } elseif($type=="HTML") { $content = str_replace("<\?", "<?", $content); $content = str_replace("\?>", "?>", $content); $content = str_replace("<\%", "<%", $content); $content = str_replace("\%>", "%>", $content); $content = str_replace(" 태그가 // 붙어 깨지는 문제를 막기 위해 다음 줄까지 검사하여 이어줌 $str = eregi_replace("<([^<>\n]+)\n([^\n<>]+)>", "<\\1 \\2>", $str); // 특수 문자와 링크시 target 삭제 $str = eregi_replace("&(quot|gt|lt)","!\\1",$str); $str = eregi_replace("([ ]*)target=[\"'_a-z,A-Z]+","", $str); $str = eregi_replace("([ ]+)on([a-z]+)=[\"'_a-z,A-Z\?\.\-_\/()]+","", $str); // html사용시 link 보호 $str = eregi_replace("","", $str); $str = eregi_replace("","", $str); $str = eregi_replace("\\1", $str); $str = eregi_replace("(".$regex['mail'].")","\\1", $str); // 보호를 위해 치환한 것들을 복구 $str = eregi_replace("!(quot|gt|lt)","&\\1",$str); $str = eregi_replace("http_orig","http", $str); $str = eregi_replace("#-#","@",$str); // link가 2개 겹쳤을때 이를 하나로 줄여줌 $str = eregi_replace("(]*)>)+]*)>","\\1", $str); $str = eregi_replace("()+","\\1", $str); $str = eregi_replace("","",$str); } public function is_hangul($char) { $char=ord($char); if($char >= 0xa1 && $char <= 0xfe) return 1; } public function cut_string(&$str, $len, $tail="...", $checkmb=true) { preg_match_all('/[\xEA-\xED][\x80-\xFF]{2}|./', $str, $match); $m = $match[0]; $slen = strlen($str); // length of source string $tlen = strlen($tail); // length of tail string $mlen = count($m); // length of matched characters if ($slen <= $len) return $str; if (!$checkmb && $mlen <= $len) return $str; $ret = array(); $count = 0; for ($i=0; $i < $len; $i++) { $count += ($checkmb && strlen($m[$i]) > 1)?2:1; if ($count + $tlen > $len) break; $ret[] = $m[$i]; } return join('', $ret).$tail; } public function cut_string_by_charset(&$str, $limit, $s="...", $charset="euc-kr") { if(iconv_strlen($str, $charset) > $limit) { $str = trim(iconv_substr($str, 0, $limit, $charset)).$s; } return $str; } public function html_to_text(&$str) { return $str=htmlentities($str, ENT_QUOTES, "UTF-8"); } public function to_euckr(&$str) { return $str=iconv("UTF-8", "EUC-KR", $str); } public function to_utf8(&$str) { return $str=iconv("EUC-KR", "UTF-8", $str); } public function to_money($money, $cut=0) { return number_format($money); } public function highlight(&$text, $str, $bgcolor="YELLOW", $textcolor="#FF0000") { if(eregi($str, strip_tags($text))) { $text = str_replace($str, "".$str."", $text); } } } ?>