>> Edit article
이름
제목
패스워드
: 정규 표현식에 관한 질문입니다. : : 문자열중 가장 마지막 "/" 부터 나머지 문자열은 모두 삭제하고 출력하는 방 : 법은 없나입니다. : : 예를 들어 /aaa/bbb/ccc 라는 문자열이 있을 때 /aaa/bbb 라고 반환하게 만 : 드는 정규 표현식이 궁금합니다. <? $directory = "/aaa/bbb/ccc"; $startTime1 = microtime(); $reversedOriginString = strrev($directory); $reversedString = strstr($reversedOriginString, "/"); $resultString = substr(strrev($reversedString),0,-1); $endTime1 = microtime(); $processingTime1 = get_microtime($startTime1, $endTime1); echo " method 1: using String functions <ul> origin : $directory<br> stage1 : $reversedOriginString<br> stage2 : $reversedString<br> result : $resultString<br> processing time = $processingTime1; </ul> "; $startTime2 = microtime(); $resultString = eregi_replace("(/.[^/]*)$","",$directory); $endTime2 = microtime(); $processingTime2 = get_microtime($startTime2,$endTime2); echo " method2 : using eregi_replace <ul> origin : $directory<br> result : $resultString<br> processing time = $processingTime2 </ul> "; $differenceTime = sprintf("%.10f",$processingTime1 - $processingTime2); $absTime = $differenceTime; if($differenceTime<0) $absTime = sprintf("%.10f",$differenceTime*(-1)); echo " comparision of processing time : <ul> method1 : $processingTime1<br> method2 : $processingTime2<br> "; if($differenceTime<0) $compareString = "method2 is slower than method1 (". $absTime . ")"; else if($differenceTime == 0) $compareString = "method1 is equals to method2"; else $compareString = "method1 is slower than method2 (". $absTime. ")"; echo " $compareString </ul> "; #적수게시판 함수참조 function get_microtime($start, $end) { # 주어진 문자열을 나눔 (sec, msec으로 나누어짐) $start = explode(" ", $start); $end = explode(" ", $end); $time[msec] = $end[0] - $start[0]; $time[sec] = $end[1] - $start[1]; if($time[msec] < 0) { $time[msec] = 1.0 + $time[msec]; $time[sec]--; } $term = sprintf("%.10f", $time[sec] + $time[msec]); return $term; } ?> 저의 컴퓨터에서의 결과는 다음과 같았습니다. method 1: using String functions origin : /aaa/bbb/ccc stage1 : ccc/bbb/aaa/ stage2 : /bbb/aaa/ result : /aaa/bbb processing time = 0.0000860000; method2 : using eregi_replace origin : /aaa/bbb/ccc result : /aaa/bbb processing time = 0.0001170000 comparision of processing time : method1 : 0.0000860000 method2 : 0.0001170000 method2 is slower than method1 (0.0000310000)--외로워라 이네몸은 뉘와함께 놀아날꼬.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved