Где ошибка preg_replace (): Неизвестный модификатор 'g'?
Не надо ничего предпочитать. Нужно использовать правильный мед...preg_replace("/href=\"".preg_quote($url,'/')."\"/i", "href=\"$base/$url\"", $html);
А в $url случаем комбинации символов "/g" не встречается?
Используйте как ограничитель вместо / другой символ, например ~.