2007. 9. 12. 10:22
특정 문자열만 추출하는 함수
2007. 9. 12. 10:22 in 자작소스/PHP
<?php /** * 문자열중 특정 내용만 추출하는 함수 * $contents 는 되도록이면 참조형으로 넘길것 * USE_STATIC 문자열 추출후 그후에 나오는 문자를 또 추출하려 할때 위치를 기억함 * USE_SKIP 추출할 문자열 이전에 동일 문자열이 있을경우 offset 을 특정문자열까지 건너뛸려고 할때 사용 * USE_RESET _STATIC 모드로 사용중 처음부터 다시 문자열을 찾으려고 할경우 offset을 0으로 리셋 * 옵션을 주지 않고 사용할경우 최초문자열만을 리턴 * * @param text $contents * @param text $start_string * @param text $end_string * @param int $opt (USE_STATIC | USE_SKIP | USE_RESET) * @return mix(text/null) */ define('USE_STATIC',1); define('USE_SKIP',2); define('USE_RESET',4); function parseString($contents, $start_string, $end_string, $opt = NULL) { if($opt & USE_STATIC) { static $pos = 0; if($opt & USE_RESET) { $pos = 0; return NULL; } } else { $pos = 0; } $spos = strpos($contents, $start_string, $pos); if($spos === FALSE) { return NULL; } $spos = $spos + strlen($start_string); $pos = $spos; if($opt & USE_SKIP) { return NULL; } $epos = strpos($contents, $end_string, $pos); if($epos === FALSE) { return NULL; } $pos = $epos; return substr($contents,$spos,$epos-$spos); } ?>