지정 url의 소스를 긁어오는 함수

function getURLPage($URL)
{
global $HTTP_COOKIE;

$pos = strpos($URL, “/”);
$server = trim(substr($URL, 0, $pos));
$path = trim(substr($URL, $pos));
if(!strlen($path)) $path=”/”;

$fp = fsockopen($server, 80, &$errno, &$errstr);
if(!$fp) return ;
$header .= “GET $path HTTP/1.0
“;
$header .= “Host: $server
“;
$header .= “Content-Type: text/html
“;
$header .= “User-Agent: Kwangho Get Robot
“;
$header .= “From: dynamic@netso.co.kr
“;
$header .= “Cookie: $HTTP_COOKIE;

“;
fputs($fp,$header);

$ret = “”;
while(!feof($fp))
{
$ctr=fgets($fp, 1024);
if ($ok) $ret .= $ctr;
if (strstr($ctr, “HTTP/1.1 404”) && !$ok) break;
if (strstr($ctr, “Content-Type: text/html”)) $ok=1;
}
fclose($fp);

return $ret ;

}

태그 상관없이 한글 문자열 자르기

/**************************************************************
* $String : 원본 문자열 *
* $MaxLen : 자를 문자열 길이 *
* $ShortenStr : 말줄임 문자열 *
***************************************************************/

function Shorten_String($String, $MaxLen, $ShortenStr) {

$StringLen = strlen($String); // 원래 문자열의 길이를 구함

for ($i = 0, $count = 0, $tag = 0; $i <= $StringLen && $count < $MaxLen; $i++ ) {
$LastStr = substr($String, $i, 1);
if ($LastStr == ‘<') $tag = 1; // 태그 시작
if ($tag && $LastStr == ‘>’) { $tag = 0; continue; } // 태그 끝
if ($tag) continue;
if ( ord($LastStr) > 127 ) { $count++; $i++; }
$count++;
// 2바이트문자라고 생각되면 $i를 1을 더 증가시켜
// 결국은 2가 증가하게 된다.
// 다음에 오는 1바이트는 당연 지금 바이트의 문자에 귀속되는 문자이다.

}

$RetStr = substr($String, 0, $i);
// 위에서 구한 문자열의 길이만큼으로 자른다.
if ($count<$MaxLen)
return $RetStr;
else
return $RetStr .= $ShortenStr;
// 여기에 말줄임문자를 붙여서 리턴해준다.
}

사업자 등록번호 체크 알고리즘

사업자번호 첫번째는 co_serial_1, 둘째는 co_serial_2, 세번째 자리는 co_serial_3 입니다…
Ex) aaa-bb-ccccc
co_serial_1 = aaa
co_serial_2 = bb
co_serial_3 = ccccc

form 에서 post방식으로 받았을때입니다.^^

중간에 연산하는곳에 substr로 걸러내서 intval로 안정해 줘도 연산이 잘 되네요^^ 에러나는분은 고쳐서 쓰시던지요~~~^^

{
echo(”

“);
exit;
}

$co_serial_1 = $HTTP_POST_VARS[co_serial_1];
$co_serial_2 = $HTTP_POST_VARS[co_serial_2];
$co_serial_3 = $HTTP_POST_VARS[co_serial_3];

if (!isset($co_serial_1) || !isset($co_serial_2) || !isset($co_serial_3))
{
error_msg(“사업자등록번호를 입력해 주세요.”);
}
elseif (ereg(“[^0-9]+”,$co_serial_1) || ereg(“[^0-9]+”,$co_serial_2) || ereg(“[^0-9]+”,$co_serial_3))
{
error_msg(“사업자등록번호를 정확히 입력해 주세요.”);
}
else
{
$co_serial = $co_serial_1.$co_serial_2.$co_serial_3;
$IDtot = 0;
$IDAdd = “137137135”;
for ($i=0;$i < 9 ; $i++)
{
$IDtot = $IDtot + (substr($co_serial,$i,1) * substr($IDAdd,$i,1));
}

$IDtot = $IDtot + ((substr($co_serial,8,1)*5)/10);
$IDtot = 10 – ($IDtot % 10);

if (substr($co_serial_3,-1) != substr($IDtot,-1))
{
error_msg(“사업자등록번호를 정확히 입력해 주세요.”);
}
}
?>