From b46fce110b93b8644eecb7b6061c2edef4096781 Mon Sep 17 00:00:00 2001 From: Magnus Manske Date: Mon, 16 Aug 2004 21:39:56 +0000 Subject: [PATCH] Dirty hack for time-consuming str_replace --- includes/OutputPage.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 36c522c446..a958397088 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -893,7 +893,28 @@ class OutputPage { wfProfileOut( "$fname-construct" ); # Do the thing wfProfileIn( "$fname-replace" ); - $this->mBodytext = str_replace( $search, $replace, $this->mBodytext ); + + # Dirrrty hack + $arr = explode ( "" , $v , 2 ) ; + $tarr[$k] = $t[0] ; + } + while ( count ( $search ) > 0 ) + { + $s = array_pop ( $search ) ; + $r = array_pop ( $replace ) ; + $s = substr ( $s , 8 , strlen ( $s ) - 11 ) ; + $k = array_search ( $s , $tarr ) ; + if ( $k === false ) continue ; + $arr[$k] = substr_replace ( $arr[$k] , $r , 0 , strlen ( $s ) + 3 ) ; + unset ( $tarr[$k] ) ; + } + $this->mBodytext = implode ( "" , $arr ) ; + +# $this->mBodytext = str_replace( $search, $replace, $this->mBodytext ); wfProfileOut( "$fname-replace" ); } wfProfileOut( $fname ); -- 2.20.1