<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>multiplicité &#187; Server Side</title>
	<atom:link href="http://vizualizer.com/multiplicity/category/techne/server-side/feed/" rel="self" type="application/rss+xml" />
	<link>http://vizualizer.com/multiplicity</link>
	<description>A Penetration into the Retina, and Beyond.</description>
	<lastBuildDate>Sun, 04 Jul 2010 03:04:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>		<item>
		<title>naver open API</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/naver-open-api/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/naver-open-api/#comments</comments>
		<pubDate>Fri, 31 Mar 2006 08:29:07 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/naver-open-api/</guid>
		<description><![CDATA[<a title="네이버 Open API" href="http://openapi.naver.com/" target="_blank">네이버 Open API</a>

등록 필요]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=naver+open+API&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2006-03-31&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/naver-open-api/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p><a title="네이버 Open API" href="http://openapi.naver.com/" target="_blank">네이버 Open API</a></p>
<p>등록 필요</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/naver-open-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>간단한 XML 파서</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/%ea%b0%84%eb%8b%a8%ed%95%9c-xml-%ed%8c%8c%ec%84%9c/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/%ea%b0%84%eb%8b%a8%ed%95%9c-xml-%ed%8c%8c%ec%84%9c/#comments</comments>
		<pubDate>Wed, 19 Jan 2005 18:37:31 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/%ea%b0%84%eb%8b%a8%ed%95%9c-xml-%ed%8c%8c%ec%84%9c/</guid>
		<description><![CDATA[간단한 XML 파서.
직접 작성한 것은 아니며 <a href="http://www.php.net/manual/kr/ref.xml.php" target="_blank">원본</a>을 수정하여 <a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&#038;id=14&#038;vid=1187" target="_blank">bookmark synchronizer</a>에서 익스포트된 XML 파일을 파싱하게 하였다. <a href="http://vizualzier.com/eritique/bookmark" target="_blank">vizualzier.com/eritique/bookmark</a>에서 확인 가능. 아래에 참고가 된 소스를 공개한다.]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=%EA%B0%84%EB%8B%A8%ED%95%9C+XML+%ED%8C%8C%EC%84%9C&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2005-01-20&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/%ea%b0%84%eb%8b%a8%ed%95%9c-xml-%ed%8c%8c%ec%84%9c/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>간단한 XML 파서.<br />
직접 작성한 것은 아니며 <a href="http://www.php.net/manual/kr/ref.xml.php" target="_blank">원본</a>을 수정하여 <a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&#038;id=14&#038;vid=1187" target="_blank">bookmark synchronizer</a>에서 익스포트된 XML 파일을 파싱하게 하였다. <a href="http://vizualizer.com/eritique/bookmark.php" target="_blank">vizualizer.com/eritique/bookmark.php</a>에서 확인 가능. 아래에 참고가 된 소스를 공개한다.<br />
<span id="more-244"></span></p>
<pre class="entryBodyCodeQuotation">&lt;?
$file = /*File to be parsed*/;
$elements = $stack = array();
$count = $depth = 0;

class element{
   var $name = '';
   var $attributes = array();
   var $data = '';
   var $depth = 0;
}

function start_element_handler($parser, $name, $attribs){
	global $elements, $stack, $count, $depth;
	$id = $count;
	$element = new element;
	$elements[$id] = $element;
	$elements[$id]-&gt;name = $name;
	while(list($key, $value) = each($attribs))
	$elements[$id]-&gt;attributes[$key] = $value;
	$elements[$id]-&gt;depth = $depth;
	array_push($stack, $id);
	$count++;
	$depth++;
}

function end_element_handler($parser, $name){
	global $stack, $depth;
	array_pop($stack);
	$depth--;
}

function character_data_handler($parser, $data){
	global $elements, $stack;
	$elements[$stack[count($stack)-1]]-&gt;data .= $data;
}
$xml_parser = xml_parser_create('');
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 0);
xml_set_element_handler($xml_parser, "start_element_handler", "end_element_handler");
xml_set_character_data_handler($xml_parser, "character_data_handler");

if(!file_exists($file))
   die("\n&lt;p&gt;\"$file\" does not exist.&lt;/p&gt;\n&lt;/body&gt;\n&lt;/html&gt;");

if(!($handle = fopen($file, "r")))
   die("&lt;p&gt;Cannot open \"$file\".&lt;/p&gt;\n&lt;/body&gt;\n&lt;/html&gt;");

while($contents = fread($handle, 4096))
   xml_parse($xml_parser, $contents, feof($handle));

fclose($handle);
xml_parser_free($xml_parser);
echo "&lt;hr /&gt;\n";

$depth = $offset = 0;
while(list($key_a) = each($elements)){
   $depth--;
   $offset = 0;
   if($elements[$key_a]-&gt;depth &lt; $depth){
       while($elements[$key_a]-&gt;depth != (($elements[$key_a - $offset]-&gt;depth) - 1)  || $offset == 0){
           $offset++;
           if($elements[$key_a]-&gt;depth == (($elements[$key_a - $offset]-&gt;depth) - 1))
               echo "&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Element Closed:&lt;/strong&gt;&lt;/dt&gt;\n&lt;dd&gt;" . $elements[$key_a - $offset]-&gt;name . "&lt;/dd&gt;\n&lt;/dl&gt;\n&lt;hr /&gt;\n";
       }
       $depth--;
   }
   if($elements[$key_a]-&gt;depth == $depth &#038;&#038; $depth != 0){
       while($elements[$key_a]-&gt;depth != $elements[$key_a - $offset]-&gt;depth  || $offset == 0){
           $offset++;
           if($elements[$key_a]-&gt;depth == $elements[$key_a - $offset]-&gt;depth)
               echo "&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Element Closed:&lt;/strong&gt;&lt;/dt&gt;\n&lt;dd&gt;" . $elements[$key_a - $offset]-&gt;name . "&lt;/dd&gt;\n&lt;/dl&gt;\n&lt;hr /&gt;\n";
       }
       $depth--;
   }
   $depth++;
   echo "&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Element:&lt;/strong&gt;&lt;/dt&gt;\n&lt;dd&gt;" . $elements[$key_a]-&gt;name . "&lt;/dd&gt;\n&lt;/dl&gt;\n";
   echo "&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Attributes:&lt;/strong&gt;&lt;/dt&gt;\n";
   if(empty($elements[$key_a]-&gt;attributes))
       echo "&lt;dd&gt;No attributes specified&lt;/dd&gt;\n";
   else{
       while(list($key_b, $value) = each($elements[$key_a]-&gt;attributes))
           echo "&lt;dd&gt;$key_b=\"$value\"&lt;/dd&gt;\n";
   }
   echo "&lt;/dl&gt;\n&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Data:&lt;/strong&gt;&lt;/dt&gt;\n";
   if(trim($elements[$key_a]-&gt;data) == '')
       echo "&lt;dd&gt;No data specified&lt;/dd&gt;\n";
   else
       echo "&lt;dd&gt;" . $elements[$key_a]-&gt;data . "&lt;/dd&gt;\n";
   echo "&lt;/dl&gt;\n&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Depth:&lt;/strong&gt;&lt;/dt&gt;\n&lt;dd&gt;" . $elements[$key_a]-&gt;depth . "&lt;/dd&gt;\n&lt;/dl&gt;\n&lt;hr /&gt;\n";
   $depth++;
}

$depth--;

for($i = $depth; $i &gt;= 0; $i--){
   $offset = 0;
   $count = count($elements) - 1;
   for($j = 0; $j &lt;= $count; $j++){
       if($elements[$count - $j]-&gt;depth == $depth){
           echo "&lt;dl&gt;\n&lt;dt&gt;&lt;strong&gt;Element Closed:&lt;/strong&gt;&lt;/dt&gt;\n&lt;dd&gt;" . $elements[$count - $j]-&gt;name . "&lt;/dd&gt;\n&lt;/dl&gt;\n&lt;hr /&gt;\n";
           break;
       }
   }
   $depth--;
}
?&gt;</pre>
<p>element라는 클래스를 생성하고 인스턴스를 만들어서 각각의 xml tag를 $elements의 형태로 저장한다. 주의할 것은 $element[n]-&gt;depth에 계층을 입력한다는 것. 플래시에서는 XML 오브젝트를 선언해주면 바로 배열 형태의 객체가 만들어지는 것과 비교해본다면 엄청난 삽질을 요한다.<br />
창피해서 수정된 소스는 도저히 못 올리겠군. 그 허접한 소스를 위해 3일이나 고생하다니.</p>
<hr /><a href="http://www.analysisandsolutions.com/code/phpxml.htm">PHP XML Parsing Basics &#8212; A Tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/%ea%b0%84%eb%8b%a8%ed%95%9c-xml-%ed%8c%8c%ec%84%9c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Services Description Language (WSDL) Version 2.0 Part 0: Primer</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/web-services-description-language-wsdl-version-20-part-0-primer/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/web-services-description-language-wsdl-version-20-part-0-primer/#comments</comments>
		<pubDate>Wed, 12 Jan 2005 18:14:30 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/web-services-description-language-wsdl-version-20-part-0-primer/</guid>
		<description><![CDATA[post from <a title="Web Services Description Language (WSDL) Version 2.0 Part 0: Primer" href="http://www.w3.org/TR/2004/WD-wsdl20-primer-20041221/" target="_blank">Web Services Description Language (WSDL) Version 2.0 Part 0: Primer</a> at www.W3C.org]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Web+Services+Description+Language+%28WSDL%29+Version+2.0+Part+0%3A+Primer&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2005-01-13&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/web-services-description-language-wsdl-version-20-part-0-primer/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>post from <a title="Web Services Description Language (WSDL) Version 2.0 Part 0: Primer" href="http://www.w3.org/TR/2004/WD-wsdl20-primer-20041221/" target="_blank">Web Services Description Language (WSDL) Version 2.0 Part 0: Primer</a> at www.W3C.org</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/web-services-description-language-wsdl-version-20-part-0-primer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ban image hotlinking</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/ban-image-hotlinking/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/ban-image-hotlinking/#comments</comments>
		<pubDate>Mon, 03 Jan 2005 04:55:05 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/ban-image-hotlinking/</guid>
		<description><![CDATA[post from <a title="Sex Sells: A Note On Image Leeching" href="http://www.albionresearch.com/disaster/sex_sells.php" target="_blank">Sex Sells: A Note On Image Leeching</a>

아파치 서버에서 무단으로 외부에 도용된 이미지 파일 링크에 대한 대처법]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=ban+image+hotlinking&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2005-01-03&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/ban-image-hotlinking/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>post from <a title="Sex Sells: A Note On Image Leeching" href="http://www.albionresearch.com/disaster/sex_sells.php" target="_blank">Sex Sells: A Note On Image Leeching</a></p>
<p>아파치 서버에서 무단으로 외부에 도용된 이미지 파일 링크에 대한 대처법</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/ban-image-hotlinking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>perlfect search</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/perlfect-search/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/perlfect-search/#comments</comments>
		<pubDate>Tue, 14 Dec 2004 02:25:37 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/perlfect-search/</guid>
		<description><![CDATA[post from <a title="Review: Perlfect Search - webreference.com" href="http://www.webreference.com/authoring/perlfect_search/" target="_blank">Review: Perlfect Search - webreference.com</a>

GPL라이센스를 통해 무료로 제공되는 웹검색툴입니다. 개인 홈페이지에 설치해서 사용하는 툴입니다. 펄기반으로 리눅스, 유닉스 서버에서 동작하며 펄 5.004(DB_File 1.72 모듈)이 필요합니다.  사용해보지는 않았는데 설치도 간편하고 여러가지 커스터마이징 옵션이 있으니 간단하게 사용할 수 있을 것 같군요. <a href="http://www.perlfect.com/freescripts/" target="_blank">같은 회사</a>에서 몇 종류의 무료 스크립트를 제공하고 있습니다. 펄 기반이라 수정하기는 어렵겠지만 설치도 간편하다고 하니 나중에 기회되면 한 번 설치해봐야겠군요. 물론 울집 컴터에 .. :-)]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=perlfect+search&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-12-14&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/perlfect-search/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>post from <a title="Review: Perlfect Search - webreference.com" href="http://www.webreference.com/authoring/perlfect_search/" target="_blank">Review: Perlfect Search &#8211; webreference.com</a></p>
<p>GPL라이센스를 통해 무료로 제공되는 웹검색툴입니다. 개인 홈페이지에 설치해서 사용하는 툴입니다. 펄기반으로 리눅스, 유닉스 서버에서 동작하며 펄 5.004(DB_File 1.72 모듈)이 필요합니다.  사용해보지는 않았는데 설치도 간편하고 여러가지 커스터마이징 옵션이 있으니 간단하게 사용할 수 있을 것 같군요. <a href="http://www.perlfect.com/freescripts/" target="_blank">같은 회사</a>에서 몇 종류의 무료 스크립트를 제공하고 있습니다. 펄 기반이라 수정하기는 어렵겠지만 설치도 간편하다고 하니 나중에 기회되면 한 번 설치해봐야겠군요. 물론 울집 컴터에 .. :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/perlfect-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>regular expression in perl</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/regular-expression-in-perl/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/regular-expression-in-perl/#comments</comments>
		<pubDate>Wed, 28 Jul 2004 19:54:43 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/regular-expression-in-perl/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=regular+expression+in+perl&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-07-29&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/regular-expression-in-perl/&amp;rft.language=English"></span>

Dreamweaver MX 2004의 Find and Replace 기능이나 여타의 검색엔진에서 perl 의 정규표현식을 빌려 쓰는 경우가 있다. perl 에 대해서는 전혀 모르나 쓸모가 있을 것 같아 인용한다. 정규 표현식을 사용하여 검색 옵션을 설정할 수 있는 경우가 많을 것 같다(추측이다 ㅡ ㅡ;).

원문의 작성자는 terzeron님이다.

1) 정규 표현식(regular expression)

다음은 regular expression에서 사용되는 기호들의 의미를 정리한 표이다. Perl에서의 pattern matching은 [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=regular+expression+in+perl&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-07-29&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/regular-expression-in-perl/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>Dreamweaver MX 2004의 Find and Replace 기능이나 여타의 검색엔진에서 <a href="http://www.perl.com/" target="_blank">perl </a>의 정규표현식을 빌려 쓰는 경우가 있다. perl 에 대해서는 전혀 모르나 쓸모가 있을 것 같아 인용한다. 정규 표현식을 사용하여 검색 옵션을 설정할 수 있는 경우가 많을 것 같다(추측이다 ㅡ ㅡ;).<br />
</br><br />
<a href="http://alkaid.snu.ac.kr/~terzeron/computer/perl.html" target="_blank">원문</a>의 작성자는 <a href="http://terzeron.onblog.com" target="_blank">terzeron</a>님이다.</br></br><br />
<span id="more-159"></span><br />
1) 정규 표현식(regular expression)<br />
</br><br />
다음은 regular expression에서 사용되는 기호들의 의미를 정리한 표이다. Perl에서의 pattern matching은 regular expression을 사용할 수 있으므로 확실하게 익혀두는 것이 바람직하다.</p>
<p class="entryBodyQuotation">.&emsp;newline을 제외한 임의의 한 글자<br />[a-z0-9]&emsp;a-z까지의 영문자와 숫자 중의 한 글자<br />[^a-z0-9]&emsp;a-z까지의 영문자와 숫자가 아닌 한 글자<br />\a&emsp;Alarm, beep<br />\d&emsp;10진수 정수 한 글자, [0-9]<br />\D&emsp;10진수 정수가 아닌 한 글자, [^0-9]<br />\w&emsp;영문자 또는 숫자, _(underline) 중의 한 글자, [a-zA-Z0-9_]<br />\W&emsp;\w가 아닌 한 글자, [^a-zA-Z0-9_]<br />\s&emsp;공백문자(whitespace) 한 글자 (space, tab, newline &#8230;)<br />\S&emsp;\s가 아닌 한 글자<br />\n&emsp;newline <br />\r&emsp;carriage return<br />\t&emsp;tab<br />\f&emsp;formfeed<br />\b&emsp;[]내부에서 사용될 경우 backspace<br />\0, \000&emsp;null character<br />\nnn&emsp;nnn이라는 8진수의 값을 가지는 ASCII 한 글자<br />\xnn&emsp;nn이라는 16진수의 값을 가지는 ASCII 한 글자<br />\cX&emsp;Ctrl+X에 해당하는 한 글자<br />\metachar&emsp;\|, \*, \\, \(, \), \[, \{, \^, \$, \+, \?, \.와 같이 표현되며 |, *, \, (, ), [, {, ^, $, +, ?, .의 의미를 가지는 한 글자<br />(abc)&emsp;뒤에 가서 참조될(backreference) abc라는 문자열<br />\1&emsp;첫 번째 참조 문자열, open parenthesis, '('에 의해 순서가 결정됨<br />\2&emsp;두 번째 참조 문자열<br />\n&emsp;n번째 참조 문자열, 10이상일 경우 backreference될 문자열이 없으면, 8진수 값의 ASCII 한 글자의 의미를 가질 수 있다.<br />x?&emsp;x가 나오지 않거나 1번 나오는 경우<br />x*&emsp;x가 0번 이상 반복되는 문자열<br />x+&emsp;x가 1번 이상 반복되는 문자열<br />x{m,n}&emsp;x가 m번 이상, n번 미만으로 나오는 문자열<br />x{m,}&emsp;x가 m번 이상 나오는 문자열<br />x{m}&emsp;x가 m번 나오는 문자열<br />abc&emsp;a와 b와 c가 연속으로 붙어서 나오는 문자열<br />abc|def|ghi&emsp;문자열 abc, def, ghi 중의 하나에 해당되는 경우</p>
<p>
다음은 크기가 없는, 지정된 위치가 일치하도록 제시할 수 있는 위치 표시 조건(assertion)들을 나열한 표이다.</p>
<p class="entryBodyQuotation">\b&emsp;[]바깥에서 \w와 \W가 서로 바뀌고 있는 word boundary를 의미함<br />\B&emsp;\b가 아닌 경우<br />\A&emsp;string의 처음 위치<br />\Z&emsp;string의 마지막 위치<br />\G&emsp;마지막으로 m//g에 의해 match가 된 위치<br />^&emsp;string의 가장 처음 위치 표시로 /m modifier가 있으면 line의 처음을 의미한다.<br />$&emsp;string의 가장 마지막 위치 표시로 /m modifier가 있으면 line의 끝을 의미한다.<br />(?=&#8230;)&emsp;&#8230;위치에 놓일 문자열이 매치 된다는 조건<br />(?!&#8230;)&emsp;&#8230;위치에 놓일 문자열이 매치 되지 않는다는 조건<br />
<br />
다음 예문을 가지고 regular expression으로 pattern matching을 하는 간단한 예를 선보이기로 한다. 예문은 각 줄 끝마다 newline이 붙어있는 것으로 가정한다.</p>
<p></p>
<p>In France a man who has ruined himself for women is generally regarded with sympathy and admiration; there is a feeling that it was worth while, and the man who has done it feels even a certain pride in the fact; in England he will be thought and will think himself a damned fool. That is why Antony and Cleopatra has always been the least popular of Shakespeare&#8217;s greater plays.</p>
<blockquote>
<pre>/France/;                # 1번째 줄
/(women|there|That) is/; # 1, 2, 4번째 줄
/\we{2}\w/;              # feel과 been, 3, 5번째 줄
/is$/;                   # 4번째 줄
/^England/;              # 4번째 줄
if (/Engl(\w+)/) {
  print "Engl$1";        # English, England
}
print if /the/;          # there, the, the, 2, 3, 5번째 줄
print if /\bthe\b/;      # the, the, 3, 5번째 줄
print if /man|women/;    # man, man, 1, 3번째 줄
if ( /(feel(s|ing))/ ) {
  print $1;              # feeling, feels, 2, 3번째 줄
}
if (/([A-Z]([a-z][a-z]+))/) {
  print $2;              # rance, ngland, ntony
}
</pre>
</blockquote>
<p>
주목할 것은 /man|women/에서 women이라는 단어가 단락 내에 존재함에도 불구하고 match가 일어나지는 않는다는 것이다. 자세한 이유는 modifier에 관한 설명을 참조하도록 하자. 다음은 단순한 기호들의 나열 같아서 약간 더 어려울 것 같은 예제를 골라보았다.</p>
<blockquote><p>
(0|0x)\d*\s\1\d*<br />
# 0&#215;1234 0&#215;4321같은 16진수 두 개에서 match된다.<br />
/.*foo/<br />
# foo로 끝나는 단어에서 match된다.<br />
/^(\d+\.?\d*|\.\d+)$/;<br />
# 올바른 소수표현에서 match가 일어난다.
</p></blockquote>
<p>
다음은 the를 관사로 가지는 명사들을 모두 출력하는 예제 프로그램이다.</p>
<blockquote>
<pre>while (&lt;&gt;) {
  if (/\bthe\b\s+(\w+)/g) {
    print "$1\n";
  }
}
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/regular-expression-in-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>아파치 서버에서 여러개의 포트에서 개별 디렉토리를 연결하는 방법</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%9c%eb%b2%84%ec%97%90%ec%84%9c-%ec%97%ac%eb%9f%ac%ea%b0%9c%ec%9d%98-%ed%8f%ac%ed%8a%b8%ec%97%90%ec%84%9c-%ea%b0%9c%eb%b3%84-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%9c%eb%b2%84%ec%97%90%ec%84%9c-%ec%97%ac%eb%9f%ac%ea%b0%9c%ec%9d%98-%ed%8f%ac%ed%8a%b8%ec%97%90%ec%84%9c-%ea%b0%9c%eb%b3%84-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac/#comments</comments>
		<pubDate>Fri, 12 Mar 2004 12:07:12 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%9c%eb%b2%84%ec%97%90%ec%84%9c-%ec%97%ac%eb%9f%ac%ea%b0%9c%ec%9d%98-%ed%8f%ac%ed%8a%b8%ec%97%90%ec%84%9c-%ea%b0%9c%eb%b3%84-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac/</guid>
		<description><![CDATA[아파치 서버 상에서 여러 개의 포트를 오픈하고 개별 포트마다 별도의 디렉토리를 지정해주는 방법]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=%EC%95%84%ED%8C%8C%EC%B9%98+%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C+%EC%97%AC%EB%9F%AC%EA%B0%9C%EC%9D%98+%ED%8F%AC%ED%8A%B8%EC%97%90%EC%84%9C+%EA%B0%9C%EB%B3%84+%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC+%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94+%EB%B0%A9%EB%B2%95&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-03-12&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%9c%eb%b2%84%ec%97%90%ec%84%9c-%ec%97%ac%eb%9f%ac%ea%b0%9c%ec%9d%98-%ed%8f%ac%ed%8a%b8%ec%97%90%ec%84%9c-%ea%b0%9c%eb%b3%84-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>일단 Apache 사용하시면..<br />
포트 번호를 </p>
<p>Port 80 </p>
<p>이렇게 지정한 것에서만 사용을 했죠 ? </p>
<p>그러나.. 여러개의 포트 번호를 동시에 사용할 수도 있습니다.. </p>
<p>httpd.conf 설정파일에 </p>
<p>Listen 81<br />
Listen 82<br />
Listen 83 </p>
<p>이렇게 입력을 하면 </p>
<p>81,82,83 포트 번호를 사용할 수 있게 됩니다. </p>
<p>저렇게 입력하고 아파치를 다시 시작후&#8230; </p>
<p>netstat -na </p>
<p>를 해보시면 </p>
<p>Code:<br />
C:\&gt;netstat -na </p>
<p>Active Connections </p>
<p>  Proto  Local Address          Foreign Address        State<br />
  TCP    0.0.0.0:81             0.0.0.0:0              LISTENING<br />
  TCP    0.0.0.0:82             0.0.0.0:0              LISTENING<br />
  TCP    0.0.0.0:83             0.0.0.0:0              LISTENING </p>
<p>이렇게 81,82,83 포트 번호가 오픈 된것을 알 수 있습니다. </p>
<p>그럼.. 만약에 81,82,83 포트 각각 포트에 대해<br />
틀린 홈페이지를 꾸미고 싶다면..?? </p>
<p>그럼 Virtual hosting 세팅을 해주시면 됩니다.<br />
제가 사용해본 간단한 예 입니다. </p>
<p>APM_Setup 을 사용중이시라면 hosts.conf 를 편집하시고<br />
일반 Apache 를 사용하신다면&#8230; httpd.conf 를 편집하세요 </p>
<p>Code:<br />
Listen 81<br />
Listen 82<br />
Listen 83 </p>
<p>NameVirtualHost okstart.apmsetup.net </p>
<p>&lt;VirtualHost okstart.apmsetup.net:81&gt;<br />
    ServerName okstart.apmsetup.net<br />
    ServerAdmin okstart@okstart.pe.kr<br />
    DocumentRoot &#8220;C:/APM_Setup/htdocs&#8221;<br />
&lt;/VirtualHost&gt; </p>
<p>&lt;VirtualHost okstart.apmsetup.net:82&gt;<br />
    ServerName okstart.apmsetup.net<br />
    ServerAdmin okstart@okstart.pe.kr<br />
    DocumentRoot &#8220;C:/APM_Setup/htdocs2&#8243;<br />
&lt;/VirtualHost&gt; </p>
<p>&lt;VirtualHost okstart.apmsetup.net:83&gt;<br />
    ServerName okstart.apmsetup.net<br />
    ServerAdmin okstart@okstart.pe.kr<br />
    DocumentRoot &#8220;C:/APM_Setup/htdocs3&#8243;<br />
&lt;/VirtualHost&gt;  </p>
<p>단 위와 같이 입력했을때..<br />
okstart.apmsetup.net 은.. 님이 사용하시는 도메인이어야 겠죠 ? </p>
<p>그리고 저렇게 세팅했을 경우 </p>
<p>http://127.0.0.1:81/</p>
<p>http://127.0.0.1:82/</p>
<p>http://127.0.0.1:83/</p>
<p>위의 주소는 </p>
<p>http://127.0.0.1:81/</p>
<p>의 내용으로 나옵니다.. </p>
<p>이유는.. </p>
<p>Code:<br />
&lt;VirtualHost okstart.apmsetup.net:81&gt; </p>
<p>이렇게 도메인을 지정했기 때문이죠.. </p>
<p>그럼 위와 같이 변경후<br />
아파치를 다시 시작해보시고.. </p>
<p>Code: </p>
<p>http://okstart.apmsetup.net:81/</p>
<p>=&gt; C:/APM_Setup/htdocs </p>
<p>http://okstart.apmsetup.net:82/</p>
<p>=&gt; C:/APM_Setup/htdocs2 </p>
<p>http://okstart.apmsetup.net:83/</p>
<p>=&gt; C:/APM_Setup/htdocs3 </p>
<p>이렇게 동작 되는것을 확인하실 수 있습니다.<br />
<hr /><a href="http://phpbb2.apmsetup.com/viewtopic.php?t=1319" target="_blank">원문</a><br />
관련 URL<br />
 &#8211; <a href="http://www.dnip.net/" target="_blank">http://www.dnip.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%9c%eb%b2%84%ec%97%90%ec%84%9c-%ec%97%ac%eb%9f%ac%ea%b0%9c%ec%9d%98-%ed%8f%ac%ed%8a%b8%ec%97%90%ec%84%9c-%ea%b0%9c%eb%b3%84-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>현재 디렉토리에서 가장 마지막으로 수정된 파일 검색</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/#comments</comments>
		<pubDate>Tue, 20 Jan 2004 15:28:10 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=%ED%98%84%EC%9E%AC+%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EC%84%9C+%EA%B0%80%EC%9E%A5+%EB%A7%88%EC%A7%80%EB%A7%89%EC%9C%BC%EB%A1%9C+%EC%88%98%EC%A0%95%EB%90%9C+%ED%8C%8C%EC%9D%BC+%EA%B2%80%EC%83%89&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-01-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/&amp;rft.language=English"></span>

현재 해당파일이 위치한 디렉토리에서 가장 마지막으로 수정된 파일을 변수형태로 플래시 무비에 넘겨주기 위한 파일입니다.

&#60;?php
//현재 디렉토리에 있는 파일 중 가장 최근에 수정된 파일을 출력하여
//플래시 파일에 인자값으로 넘겨줍니다.
$handle = opendir(&#8216;.&#8217;);
$i = 0;
//이 파일 자체의 이름을 적어줍니다.
//현재 파일이 가장 나중에 수정되었더라도 자신을 제외한
//다른 파일을 출력하도록 하기위해서입니다.
$itself = &#8220;showLatest.php&#8221;;
while($entry = readdir($handle)){
&#8195;if(is_file($entry) &#038;&#038; $entry!=$itself){
&#8195;&#8195;$mtime = date (&#8220;YmdHis&#8221;, filemtime($entry));
&#8195;&#8195;$filename = $entry;
&#8195;&#8195;//echo [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=%ED%98%84%EC%9E%AC+%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EC%84%9C+%EA%B0%80%EC%9E%A5+%EB%A7%88%EC%A7%80%EB%A7%89%EC%9C%BC%EB%A1%9C+%EC%88%98%EC%A0%95%EB%90%9C+%ED%8C%8C%EC%9D%BC+%EA%B2%80%EC%83%89&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-01-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>현재 해당파일이 위치한 디렉토리에서 가장 마지막으로 수정된 파일을 변수형태로 플래시 무비에 넘겨주기 위한 파일입니다.<br />
<span id="more-126"></span></p>
<p class="entryBodyQuotation">&lt;?php<br />
//현재 디렉토리에 있는 파일 중 가장 최근에 수정된 파일을 출력하여<br />
//플래시 파일에 인자값으로 넘겨줍니다.<br />
$handle = opendir(&#8216;.&#8217;);<br />
$i = 0;<br />
//이 파일 자체의 이름을 적어줍니다.<br />
//현재 파일이 가장 나중에 수정되었더라도 자신을 제외한<br />
//다른 파일을 출력하도록 하기위해서입니다.<br />
$itself = &#8220;showLatest.php&#8221;;<br />
while($entry = readdir($handle)){<br />
&emsp;if(is_file($entry) &#038;&#038; $entry!=$itself){<br />
&emsp;&emsp;$mtime = date (&#8220;YmdHis&#8221;, filemtime($entry));<br />
&emsp;&emsp;$filename = $entry;<br />
&emsp;&emsp;//echo &#8220;$filename&#8221;.$mtime.&#8221;&lt;br&gt;&#8221;;<br />
&emsp;&emsp;$tmp = &#8220;$mtime&#8221;.&#8221;$filename&#8221;;<br />
&emsp;&emsp;//echo $tmp.&#8221;&lt;br&gt;&#8221;;<br />
&emsp;&emsp;$list[$i] = $tmp;<br />
&emsp;&emsp;//echo &#8220;$list[$i]&lt;br&gt;&#8221;;<br />
&emsp;&emsp;$i++;<br />
&emsp;&emsp;} else {<br />
&emsp;&emsp;};<br />
&emsp;&emsp;$totalFiles=$i;<br />
&emsp;};<br />
rsort($list);<br />
$len = strlen($list[0]);<br />
//echo $len.&#8221;&lt;br&gt;&#8221;;<br />
//asdfsdf<br />
echo &#8220;latestFile=&#8221;.trim(substr($list[0],14,$len));<br />
?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/%ed%98%84%ec%9e%ac-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%88%ec%a7%80%eb%a7%89%ec%9c%bc%eb%a1%9c-%ec%88%98%ec%a0%95%eb%90%9c-%ed%8c%8c%ec%9d%bc-%ea%b2%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 에서의 문자열 처리 관련 함수</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/#comments</comments>
		<pubDate>Thu, 01 Jan 2004 18:39:44 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=PHP+%EC%97%90%EC%84%9C%EC%9D%98+%EB%AC%B8%EC%9E%90%EC%97%B4+%EC%B2%98%EB%A6%AC+%EA%B4%80%EB%A0%A8+%ED%95%A8%EC%88%98&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-01-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/&amp;rft.language=English"></span>

php 에서의 문자열 처리 관련 함수입니다.

1. string addslashes(string str)
특수문자에 역슬래시를 붙인다. sql DB 저장시에 문자가 잘못 저장되는 것을 방지
$word = &#8220;&#8216;php&#8217;에는 &#8216;flash&#8217;&#8221;;
$word2 = addslashes($word);
echo &#8220;string1 : $word&#8221;;
echo &#8220;string2 : $word2&#8243;;
2. string stripslashes(string str)
addslashes 함수를 통해 슬래쉬가 붙은 문자열에서 슬래시 기호를 제거하는 역할. 아래의 예문에서 string2와 string3는 같은 결과를 보인다.
$word = &#8220;&#8216;php&#8217;에는 &#8216;flash&#8217;&#8221;;
$word2 = addslashes($word);
$word2 = [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=PHP+%EC%97%90%EC%84%9C%EC%9D%98+%EB%AC%B8%EC%9E%90%EC%97%B4+%EC%B2%98%EB%A6%AC+%EA%B4%80%EB%A0%A8+%ED%95%A8%EC%88%98&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2004-01-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>php 에서의 문자열 처리 관련 함수입니다.<br />
<span id="more-116"></span><br />
1. string addslashes(string str)<br />
<hr />특수문자에 역슬래시를 붙인다. sql DB 저장시에 문자가 잘못 저장되는 것을 방지</p>
<p>$word = &#8220;&#8216;php&#8217;에는 &#8216;flash&#8217;&#8221;;<br />
$word2 = addslashes($word);<br />
echo &#8220;string1 : $word&#8221;;<br />
echo &#8220;string2 : $word2&#8243;;</p>
<p>2. string stripslashes(string str)<br />
<hr />addslashes 함수를 통해 슬래쉬가 붙은 문자열에서 슬래시 기호를 제거하는 역할. 아래의 예문에서 string2와 string3는 같은 결과를 보인다.</p>
<p>$word = &#8220;&#8216;php&#8217;에는 &#8216;flash&#8217;&#8221;;<br />
$word2 = addslashes($word);<br />
$word2 = stripslashes($word2);<br />
echo &#8220;string1 : $word&#8221;;<br />
echo &#8220;string2 : $word2&#8243;;<br />
echo &#8220;string3 : $word3&#8243;;</p>
<p>3. string htmlspecialchrs(string str)<br />
<hr />&#038;,<,"와 같은 기호를 HTML entity로 변환하는 역할을 한다. 즉 위의 예시의 경우 &#038; 는 &#038;amp로, "는 &#038;quot로, <는 &#038;lt등의 문자열로 치환한다. 이는 태그에도 동일하게 적용된다.</p>
<p>$address1 = "<a href=http://vizualizer.com target=_blank>vizualizer.com</a>&#8220;;<br />
$address2 = htmlspecialchars($address1);<br />
echo &#8220;$address1&#8243;;<br />
echo $address2;</p>
<p>4. string nl2br(string str)<br />
<hr />개행문자를 <br /> 태그로 치환한다.</p>
<p>5. int strcmp(string str1, string str2)<br />
<hr />두 개의 문자열인 str1 과 str2를 비교한다. 왼쪽값이 크면 양수를 반환하고, 오른쪽 값이 크면 음수를, 두 값이 동일하면 0을 반환한다.</p>
<p>$str1=&#8221;asdfadfasf&#8221;;<br />
$str3=&#8221;asdfadfasf&#8221;;<br />
$str2 = &#8220;asdfad465a4f4asdfasdfasfsd4f64d&#8221;;<br />
$r =  strcmp($str2, $str1);<br />
echo $r;</p>
<p>5. int strlen(string str)<br />
<hr />문자열 str의 길이값을 정수형태로 반환한다. 반환값은 바이트 기준이며, 영어 한 글자는 1바이트, 특수기호, 한글 1글자는 2바이트이다.</p>
<p>$str1 = &#8220;korea&#8221;;<br />
$str2 = &#8220;가&#8221;;<br />
$str3 = &#8220;羅-ⓦ&#8221;;<br />
$length = strlen($str2);<br />
echo &#8220;&#038;amp&#8221;.$str2.&#8221;의 문자열 길이는 &#8220;.$length.&#8221;byte입니다.&#8221;;</p>
<p>6. string chop(string str1)<br />
<hr />문자열 str1의 뒷부분에 존재하는 모든 공백을 제거한 값을 다시 반환한다.</p>
<p>7. string trim(string str1)<br />
<hr />문자열 str1의 앞부분과 뒷부분에 존재하는 모든 공백을 제거한 값을 다시 반환한다. 단, 문자열의 중간에 존재하는 공백에는 전혀 영향을 주지 않는다.</p>
<p>8. int ord(string str)<br />
<hr />문자열 str1의 아스키코드값을 반환한다.</p>
<p>$a = &#8220;cool&#8221;;<br />
$b = ord($a);<br />
echo &#8220;$a&#8221;.&#8221;의 아스키코드값은 &#8220;.$b.&#8221;입니다.<br />&#8220;;</p>
<p>9. string chr(int ascii)<br />
<hr />아스키코드값 ascii에 해당하는 문자열을 반환한다.</p>
<p>$c = 105;<br />
$d = chr($c);<br />
echo &#8220;$c&#8221;.&#8221;의 문자열 값은 &#8220;.$d.&#8221;입니다.&#8221;;</p>
<p>10. array expode(string separator, string str)<br />
<hr />문자열 str을 선언한 구분자가 나타날때마다 잘라내어 배열의 원소로 반환한다.</p>
<p>$a = &#8220;cool+ asdfa +asdfasd +asdfasdf&#8221;;<br />
$k = explode(&#8220;+&#8221;, $a);<br />
echo $k[0];</p>
<p>위의 경우 + 기호가 나타나는 부분에서 잘라내므로 $k[0]의 값은 cool이 된다. 같은 이유로 $k[1]의 값은 asdfa가 된다.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/php-%ec%97%90%ec%84%9c%ec%9d%98-%eb%ac%b8%ec%9e%90%ec%97%b4-%ec%b2%98%eb%a6%ac-%ea%b4%80%eb%a0%a8-%ed%95%a8%ec%88%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is TrackBack?</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/what-is-trackback/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/what-is-trackback/#comments</comments>
		<pubDate>Mon, 20 Oct 2003 15:38:19 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/what-is-trackback/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=What+is+TrackBack%3F&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2003-10-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/what-is-trackback/&amp;rft.language=English"></span>

트랙백이란?
MT의 트랙백 기능이 지금처럼 인코딩에 제한적이지 않았다면,
조금 더 많은 사람들이 이용하지 않았을까?
TRACKBACK
Movable Type&#8217;s TrackBack system allows peer-to-peer communication and conversations between weblogs. Imagine that you write about a movie you just saw in an entry on your Movable Type-powered weblog. Another MT weblogger reads your entry, and wants to write an entry referencing your original [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=What+is+TrackBack%3F&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2003-10-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/what-is-trackback/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p>트랙백이란?<br />
MT의 트랙백 기능이 지금처럼 인코딩에 제한적이지 않았다면,<br />
조금 더 많은 사람들이 이용하지 않았을까?</p>
<p><b>TRACKBACK</b><br />
Movable Type&#8217;s TrackBack system allows peer-to-peer communication and conversations between weblogs. Imagine that you write about a movie you just saw in an entry on your Movable Type-powered weblog. Another MT weblogger reads your entry, and wants to write an entry referencing your original post. He could just comment on your weblog, but he&#8217;d like to keep the post in his own database and host it on his site.<br />
<span id="more-98"></span><br />
Using TrackBack, the other weblogger can automatically send a ping to your weblog, indicating that he has written an entry referencing your original post. This accomplishes two things:</p>
<p>On your site, you can automatically list all sites that have referenced a particular post, allowing visitors to your site to read the response on the other user&#8217;s weblog. </p>
<p>It provides a firm, explicit link between his entry and yours, as opposed to an implicit link (like a referrer log) that depends upon outside action (someone clicking on the link to your entry). </p>
<p>You can use TrackBack for more than just communication on particular entries, however. You can also associate TrackBack pings URLs with categories in your weblog. Whenever you post an entry to that category, the URLs you have associated will automatically be notified of your post. This allows remote sites to keep a repository of references to posts all around the web.</p>
<p>For example, if you run a site about Perl, you might want to provide a repository of links to Perl articles on other weblogs. Using TrackBack, you can allow other weblogs to ping a particular category in your own weblog, whenever a new entry is posted that pertains to this category.</p>
<p>These are just examples of TrackBack usage. TrackBack itself is a framework for peer-to-peer communication between weblogs; it can track cross-weblog discussions, it can provide remote content repositories, it can emulate guest authoring, etc. The technical side of TrackBack is very simple: when you want to notify a remote site of your existence, you send a ping to that site. The format of these pings (simple HTTP GET requests) is discussed below. In the Movable Type implementation of TrackBack, we&#8217;ve added password protection to category pings, IP banning, automatic RSS output, and email notification of new pings.</p>
<p>In other words: we want TrackBack to benefit, and to be useful to, more than just Movable Type users. We want to encourage integration of this feature into other weblog tools; that&#8217;s why we have documented the ping format below and have tried to make the basic framework very simple. Feel free to email us (trackback@movabletype.org) if you have questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/what-is-trackback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>트랙백 초보 가이드를 인용함</title>
		<link>http://vizualizer.com/multiplicity/techne/server-side/%ed%8a%b8%eb%9e%99%eb%b0%b1-%ec%b4%88%eb%b3%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%a5%bc-%ec%9d%b8%ec%9a%a9%ed%95%a8/</link>
		<comments>http://vizualizer.com/multiplicity/techne/server-side/%ed%8a%b8%eb%9e%99%eb%b0%b1-%ec%b4%88%eb%b3%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%a5%bc-%ec%9d%b8%ec%9a%a9%ed%95%a8/#comments</comments>
		<pubDate>Fri, 29 Aug 2003 09:01:10 +0000</pubDate>
		<dc:creator>vizualizer</dc:creator>
				<category><![CDATA[Server Side]]></category>

		<guid isPermaLink="false">http://www.vizualizer.com/multiplicity/uncategorized/%ed%8a%b8%eb%9e%99%eb%b0%b1-%ec%b4%88%eb%b3%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%a5%bc-%ec%9d%b8%ec%9a%a9%ed%95%a8/</guid>
		<description><![CDATA[트랙백 trackback 북마크릿 bookmarklet]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=%ED%8A%B8%EB%9E%99%EB%B0%B1+%EC%B4%88%EB%B3%B4+%EA%B0%80%EC%9D%B4%EB%93%9C%EB%A5%BC+%EC%9D%B8%EC%9A%A9%ED%95%A8&amp;rft.aulast=Kim&amp;rft.aufirst=Yonggeun&amp;rft.subject=Server+Side&amp;rft.source=multiplicit%C3%A9&amp;rft.date=2003-08-29&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://vizualizer.com/multiplicity/techne/server-side/%ed%8a%b8%eb%9e%99%eb%b0%b1-%ec%b4%88%eb%b3%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%a5%bc-%ec%9d%b8%ec%9a%a9%ed%95%a8/&amp;rft.language=English"></span>
<abbr class="unapi-id" title=""><!-- &nbsp; --></abbr>
<p><a title="HOCHAN.NET: [번역]트래픽 초보자 가이드" href="http://hochan.net/archives/2003/05/000149.html" target="_blank">HOCHAN.NET: [번역] 트래픽 초보자 가이드</a></p>
<p>트랙백의 기본 개념, 사용법 등을 쉽게 설명한 페이지 입니다. 좋네요.^ ^;<br />
잘 모르는 분이지만 좋은 글 주신 호찬님께도 감사드립니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizualizer.com/multiplicity/techne/server-side/%ed%8a%b8%eb%9e%99%eb%b0%b1-%ec%b4%88%eb%b3%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%a5%bc-%ec%9d%b8%ec%9a%a9%ed%95%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
