Location: PHPKode > scripts > Alternate text > alternate-text/alter1.6.php
<?
// Class dealing with alternative strings:
// version 1.6 - now with regexps
// String Syntax: some text (h|e|e|l|l|l|l|o| |,|world) some text    
class alternate {
  var $s;
var $pattern;

        function ms () {
//seeding
	    list($usec, $sec) = explode(' ', microtime());
	    return (float) $sec + ((float) $usec * 100000);
		srand(make_seed());

			}
	function bracket ($str) {
	//returns bracket code
	 if (!strcmp($str,"(")) {return 1;}
	 elseif (!strcmp($str,")")) {return -1;} else {return 0;}

				}

	function alternate ($s="") {
	$this->ms();
	$this->s=$s;
	$this->pattern="/\(([^\(]*?)\)/m";
	while (preg_match($this->pattern,$this->s)!=0)
	$this->s=preg_replace_callback ($this->pattern, 
	create_function (
	'$matches', 
	'$store=explode("|",$matches[1]);
	$store=explode("|",$matches[1]);
	$rand_key=$store[array_rand($store,1)];
	return $rand_key;'),
	$this->s);
   }
}


$alter=new alternate ("Running script\n((ha\nil|cr\ny|hello), (world|gold|silver)|how do you (do|did|man)?|anybody here?)");
echo $alter->s;

?>
Return current item: Alternate text