<?php
$string = "I want to replace ' with \' but not \' since they are already escaped";
$regex = "~(?<!\\\)'~";

echo preg_replace($regex, "\\'", $string);
