$replace) { echo 'Replace: '.$search.' ==> '.$replace.PHP_EOL; $diff = strlen($replace) - strlen($search); $regex = '%s:([0-9]+):"'.preg_quote($search).'(.*)"%siU'; preg_match_all($regex, $sql, $result, PREG_PATTERN_ORDER); $total = count($result[0]); for($j=0; $j < $total; $j++) { $fullMatch = $result[0][$j]; $number = $result[1][$j]; $newText = str_replace($search, $replace, $fullMatch); $length = $number + $diff; $newText = str_replace('s:'.$number, 's:'.$length, $newText); $sql = str_replace($fullMatch, $newText, $sql); echo 'Serialized text replaced: '.$newText.PHP_EOL; } } $sql = str_replace(array_keys($searches), array_values($searches), $sql); file_put_contents($outputFile, $sql); echo PHP_EOL; die('SQL Converted into file '.$outputFile.'.');