Is there any way to make this faster?

From: Date: Tue, 17 Sep 2002 15:26:24 +0000
Subject: Is there any way to make this faster?
Groups: php.general 
Request: Send a blank email to php-general+get-116641@lists.php.net to get a copy of this message
Hey everyone, I have a class that has the following function in it: Class myclass(){ var $number; var $title; var $artist; var $tim; /************************************************************** * * parseif function - * Checks for the function %if%(%number%)?Truepart:falsepart%if%, evaluates it * and returns a proper replacment for the string. * It Returns the string with the proper replacment * if you have %if%(%number%)?Truepart:Falsepart%if% it will either return * Truepart * or * Falsepart * * depending on weather or not $this->number is a real value or not * if you have "a href=\"classwrapper.php?thing=play&id=%number%\">%artist% - %title% %if%(%time%)?(%time% Minutes):"%if%</a>" * it will return: * "a href=\"classwrapper.php?thing=play&id=%number%\">%artist% - %title% (%artist% Minutes) </a>" * or * "a href=\"classwrapper.php?thing=play&id=%number%\">%artist% - %title% </a>" * **************************************************************/ function parseif($string,$ValueToReplace){ if($this->debug){print $this->debugbeg ."ParseIf<HR>";} $replacement['title'] =1; $replacement['artist'] =2; $replacement['tim'] =3; $replacement['number'] =4; $RegExPattern = "/(.*)". // First part of the string "%([a-z]{1,3})%". // if "\(%([a-z]{1,10})%\)". // Variable "(\W{0,1})". // ? "(.*)". "(.*):". // rest of string "(.*)". // "%([a-z]{1,3})%". // if "(.*)/i"; // string after end of if statement if($this->verbose){ print nl2br("RegEx ~$RegExPattern~\nstring before... '$string'\n"); } $th = $err = preg_match($RegExPattern,$string,$answer); if($this->verbose){ print_r($answer); } if($answer[3] == "time"){ $answer[3] = "tim"; } $torep = $replacement[$answer[3]]; $torep = $torep -1; if(!isset($ValueToReplace[$torep]) or $ValueToReplace[$torep] != ""){ $string = $answer[1] . $answer[5] . $answer[9]; }else{ $string = $answer[1] . $answer[7] . $answer[9]; } if($this->debug){ if($this->verbose){ print nl2br("\$ValueToReplace['{$torep}'] = '". $ValueToReplace[$torep] ."'\n"); print nl2br("string after... '$string'\n"); } print "returning $string<br>\n" . $this->debugend ."<br>"; } return $string; } } I was just wondering if there was a better way to do this or if this is about the right way to do it. Thank You, Mike funyon@funyon.com mmacrae@wwnet.net

« previous php.general (#116641) next »