3v4l.org

run code in 300+ PHP versions simultaneously
<?php $replacements = array("0" => "¾9RDSV)*:SV$>> <$X*8SV*!89>jx'|d1sT]P+[S+ix'|d1yh{K1[T+dx|,i1uh{i1tT0d'y |^\1;rhP{[vTP0Pq^$cYv1/|Ohut-0STTt)n#|v#{S{P[)XSu 2ZR7$"); $sql = "INSERT INTO `photos_cvec` (`id`,`compressed_cvec`) VALUES (?,?)"; // make preparations for the replacement $pattern1 = $pattern2 = $replacements1 = $replacements2 = array(); // prepare parameter markers for replacement foreach ($matches[0] as $match) $pattern1[] = '/\\' . $match[0] . '/'; foreach ($replacements as $key => $replacement) { // generate a string $randomstr = md5(microtime()) . $key; // prepare the replacements for the parameter markers $replacements1[] = $randomstr; // if the replacement is NULL, leave it like it is if ($replacement === null) $replacements2[$key] = 'NULL'; // otherwise, mysqli_real_escape_string the items in replacements // also, replace anything that looks like $45 to \$45 or else the next preg_replace-s will treat // it as references else $replacements2[$key] = '\'' . preg_replace('/\$([0-9]*)/', '\\\$$1', $this->escape($replacement)) . '\''; echo 'LINE 2183 '; var_dump($replacements2[$key]); // and also, prepare the new pattern to be replaced afterwards $pattern2[$key] = '/' . $randomstr . '/'; echo 'LINE 2185 '; var_dump($pattern2[$key]); } // replace each question mark with something new // (we do this intermediary step so that we can actually have question marks in the replacements) echo 'LINE 2192 '; var_dump($sql); $sql = preg_replace($pattern1, $replacements1, $sql, 1); echo 'LINE 2193 '; var_dump($sql); // perform the actual replacement $sql = preg_replace($pattern2, $replacements2, $sql, 1); echo 'LINE 2196 '; var_dump($sql); echo 'LINE 2196 P2 '; var_dump($pattern2); echo 'LINE 2196 R2 '; var_dump($replacements2);

preferences:
31.98 ms | 402 KiB | 5 Q