2007. 6. 29. 15:12

문자열 마킹 함수 - hideWord v1.0


<?php
function hideWord($str,$extent=null,$color="",$pos=0) {
    $str_len = strlen($str);
    $str_key = array();
    $seq = 0;
    for($i=0;$i<$str_len;$i++) {
        if(ord($str[$i]) > 128) {
            $seq++;
            if($seq%2==0)
                $str_key[]=$i+1;
        } else {
            $str_key[]=$i+1;
        }
    }
    $array_cnt = count($str_key);

    if($extent === null)
        $extent = intval($array_cnt/2);
    elseif($extent && $extent > $array_cnt)
        return $str;

    if($extent && $pos==0)
        $rtn = substr($str,0,$str_key[$extent-1]);
    elseif($extent && $pos==1)
        $rtn = substr($str,$str_key[$array_cnt - $extent-1],$str_len);

    for($i=$extent;$i<$array_cnt;$i++) {
        $ertn .= "X";
    }

    if($color)
        $ertn = "<font color='".$color."'>".$ertn."</font>";

    if($pos)
        return $ertn.$rtn;
    else
        return $rtn.$ertn;
} 
?>
hideWord(문자열,보여줄길이,마킹색상,마킹위치);

보여줄길이 null -> 문자열 절반만 마킹
보여줄길이 0 -> 전체 문자열 마킹

마킹위치 -> 0 왼쪽 글자보여줌
마킹위치 -> 1 오른쪽 글자만 보여줌

echo hideWord('가1나다라마마1212ㄴ안아',3,'red',0);
-> 가1나XXXXXXXXXXX

echo hideWord('가1나다라마마1212ㄴ안아',3,'red',1);
-> XXXXXXXXXXXㄴ안아
2007. 6. 29. 15:02

[갈쿠리패턴] phpschool tip&tech


<?php
function voidPrint(&$val) {
 print_r($val);
}

$buf = new GalKuRi;
$buf->voidSetPage('page','voidPrint',1);

$buf->voidSetSkipOffset('_default_','<!-- 목록 -->');


$buf->voidSetPattern('num','<td id="bb_list">','<');
$buf->voidSetPattern('kind','<span class=small>','<');
$buf->voidSetPattern('view_url',"<a href='..","'");
$buf->voidSetPattern('title',"<span style=''>","<");
$buf->voidSetPattern('name','title="','"');
$buf->voidSetPattern('regtime','title="','"');
$buf->voidSetPattern('regdate','>','<');
$buf->voidSetPattern('hit','<td id="bb_list">','<');


$buf->voidParsePage('http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&page=1');
?>

2007. 6. 29. 15:02

[갈쿠리패턴] 네이버 관련 키워드


<?php
$buf = new GalKuRi;
$buf->voidSetSkipOffset('_default_','<div class="SuggestWord">');
$buf->voidSetPattern('keyword',')));">','<');
$buf->voidSetSkipOffset('keyword','rsk.list1');
$buf ->voidParsePage('http://search.naver.com/search.naver?where=nexearch& query='.urlencode('아디다스').'&frm=t1&sm=top_hty');

print_r($buf->parse_value);
?>

2007. 6. 29. 15:01

[갈쿠리패턴] cjmall



<?php
function voidPrint(&$val) {
 print_r($val);
}

$buf = new GalKuRi;
$buf->voidSetPage('currpage','voidPrint',1);

$buf->voidSetSkipOffset('_default_','<!--리스트 시작-->');

$buf->voidSetPattern('image_url',"')\"><img src=\"http://image.cjmall.com/item_images/",'"');
$buf->voidSetPattern('content_url',"view_detail('","'");
$buf->voidSetPattern('goods_name','>','</a>');
$buf->voidSetPattern('price',"<span class='price'>",'원',',');

$buf->voidParsePage('http://www.cjmall.com/prd/list_cate2.jsp?ctg_id=126689&rowNum=');
?>