'.*', '\?' => '.' )); return preg_match("#^".$translated."$#i", $string) === 1; } // regular array_merge does not work if arrays have numeric keys... function array_merge_custom(){ $arr = array(); $args = func_get_args(); foreach( (array)$args as $arg){ foreach( (array)$arg as $key => $value){ $arr[$key] = $value; } } return $arr; } // rotate each string character based on corresponding ascii values from some key function str_rot_pass($str, $key, $decrypt = false){ // if key happens to be shorter than the data $key_len = strlen($key); $result = str_repeat(' ', strlen($str)); for($i=0; $i 0; $abs = preg_replace($re, '/', $abs, -1, $n)) { } /* absolute URL is ready! */ return $scheme . '://' . $abs; } ?>