<?php

$str = 'hi s';

$s1 = 'hi';
$s2 = 's';

$result = preg_replace('~' . preg_quote($s1) . '(?!' . preg_quote($s2) . ')~', 'replace with this', $str);

var_dump($result);