From 62a80d4a07941b1783dcbd3151f33f8f2c3b9cfa Mon Sep 17 00:00:00 2001 From: Urban Müller Date: Tue, 15 Nov 2011 14:41:34 +0000 Subject: faster it::replace --- it.class | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'it.class') diff --git a/it.class b/it.class index 3055cb0..dd3a118 100644 --- a/it.class +++ b/it.class @@ -394,18 +394,16 @@ static function match($pattern, $string, $p = null) */ static function replace($replacements, $string, $p = array()) { - $patterns = array(); - - foreach (array_keys($replacements) as $pattern) + foreach ($replacements as $pattern => $dummy) $patterns[] = !preg_match('/\\\\[wb]|[!\x80-\xff]|\[\[:/i', $pattern) && !$p ? "!$pattern!i" : it::convertregex($complex = $pattern, $p); if (!$complex) - $result = preg_replace($patterns, array_values($replacements), $string); + $result = preg_replace($patterns, $replacements, $string); else { $oldlocale = setlocale(LC_CTYPE, 0); setlocale(LC_CTYPE, 'de_CH'); - $result = preg_replace($patterns, array_values($replacements), $string, isset($p['limit']) ? $p['limit'] : -1); + $result = preg_replace($patterns, $replacements, $string, isset($p['limit']) ? $p['limit'] : -1); setlocale(LC_CTYPE, $oldlocale); } -- cgit v1.2.3